Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Проектирование классов интерфейса устройств



Класс интерфейса устройства скрывает истинный интерфейс с физическим устройством, предлагая вместо него виртуальный интерфейс. Для каждого типа устройств ввода/вывода имеется отдельный интерфейсный класс. Состав опера­ций, поддерживаемых таким классом, зависит от функций, которые должен под­держивать объект интерфейса. Классы интерфейса устройств изображены на рис.30 и описаны ниже:

– Интерфейс Кнопки Лифта. Предоставляет две операции: читать (считы­вает значение датчика кнопки лифта) и инициализировать;

– Интерфейс Кнопки Этажа. Предоставляет две операции: читать (считы­вает значение датчика кнопки этажа) и инициализировать;

– Интерфейс Датчика Прибытия. Предоставляет две операции: читать (считывает значение датчика прибытия) и инициализировать;

– Интерфейс Мотора. Предоставляет операции вверх, вниз и стоп, соот­ветствующие сообщениям Вверх, Вниз и Стоп, которые получает объект Интерфейс Мотора (см. рис.14);

– Интерфейс Двери. Предоставляет операции открыть и закрыть, соответ­ствующие сообщениям Открыть Дверь и Закрыть Дверь, которые полу­чает объект Интерфейс Двери (см. рис.14);

– Интерфейс Лампочки Лифта. Предоставляет операцию выключить для вы­ключения лампочки лифта. Предполагается, что лампочка включается аппаратно, так что программная реализация операции включить не нужна. Опе­рация выключить соответствует сообщению Выключить Лампочку Лифта, которое получает объект Интерфейс Лампочки Лифта (см. рис.14);

 

Рис.28. Архитектура задач для Подсистемы Планировщика: интерфейсы задач

 

– Интерфейс Лампочки Этажа. Предоставляет операцию выключить для выключения лампочки этажа. Предполагается, что лампочка включается аппаратно, так что программная реализация операции включить не требует­ся. Операция выключить соответствует сообщению Выключить Лампоч­ку Этажа, которое получает объект Интерфейс Лампочки Этажа (см. рис.14);

– Интерфейс Лампочки Направления. Предоставляет операции включить и выключить, соответствующие сообщениям Включить Лампочку На­правления и Выключить Лампочку Направления, которые получает объект Интерфейс Лампочки Направления (см. рис.14).

 

Рис.29. Архитектура распределенной программы: интерфейсы подсистем

 

 

Проектирование класса, зависящего от состояния

В системе есть только один зависящий от состояния класс Управление Лифтом, который инкапсулирует диаграмму состояний, реализованную в виде табли­цы переходов, – см. рис.13. Он поддерживает две операции: обработатьСобытие и текущееСостояние. Этот объект вложен в задачу Контроллер Лифта. Поскольку задача существует в нескольких экземплярах, то и экземпляров класса будет несколько – по одному для каждого лифта. Спецификация класса Управ­ление Лифтом представлена на рис.31.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.