Таким образом, реализация данной функции
}
}
Таким образом, реализация данной функции отражает содержание диаграммы переходов межу состояниями на рис. 8-11.
8.4. Сопровождение
Полная реализация рассматриваемой системы является не слишком объемной - всего около 20 классов. Тем не менее, для любого работающего фрагмента кода этап последующей модернизации неизбежен. Рассмотрим, что придется сделать, чтобы реализовать еще два дополнительных требования к нашей системе.
Видно, что система позволяет измерять многие погодные параметры, однако не все. Может оказаться, что пользователи захотят измерять также количество осадков. Какие изменения при этом необходимо будет внести в программу?
К счастью, нам не придется радикально менять нашу архитектуру, надо будет лишь дополнить ее. Используя в качестве основы архитектурный макет, представленный на рис. 8-13, можно выделить следующие необходимые изменения:
Создание нового класса-датчика RainFallSensor (датчика осадков); выявление его оптимального положения в иерархии датчиков (RainFallSensor
есть разновидность HistoricalSensor).
Обновление перечисления SensorName.
Модификация класса DisplayManager, обеспечивающая вывод на экран параметров, снимаемых с датчика нового типа.
Модификация класса InputManager, обеспечивающая обработку нажатия новой клавиши RainFall.
Правильное включение экземпляров класса RainFallSensor
в коллекцию Sensors.
Нам может встретиться еще ряд более мелких задач по интеграции нового класса в уже существующую архитектуру, но в любом случае ни сама архитектура, ни основные механизмы системы не претерпят серьезных изменений.
Рассмотрим теперь совершенно другое функциональное свойство: предположим, что мы хотим обеспечить возможность пересылки собранных за день данных на удаленный компьютер. Для реализации этой задачи необходимо:
Создание нового класса SerialPort, ответственного за управление последовательным портом RS232.
Разработка нового класса ReportManager, ответственного за подготовку информации к записи в определенном формате.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий