Проектирование классов интерфейса устройств
Класс интерфейса устройства скрывает истинный интерфейс с физическим устройством, предлагая вместо него виртуальный интерфейс. Для каждого типа устройств ввода/вывода имеется отдельный интерфейсный класс. Состав операций, поддерживаемых таким классом, зависит от функций, которые должен поддерживать объект интерфейса. Классы интерфейса устройств изображены на рис.30 и описаны ниже: – Интерфейс Кнопки Лифта. Предоставляет две операции: читать (считывает значение датчика кнопки лифта) и инициализировать; – Интерфейс Кнопки Этажа. Предоставляет две операции: читать (считывает значение датчика кнопки этажа) и инициализировать; – Интерфейс Датчика Прибытия. Предоставляет две операции: читать (считывает значение датчика прибытия) и инициализировать; – Интерфейс Мотора. Предоставляет операции вверх, вниз и стоп, соответствующие сообщениям Вверх, Вниз и Стоп, которые получает объект Интерфейс Мотора (см. рис.14); – Интерфейс Двери. Предоставляет операции открыть и закрыть, соответствующие сообщениям Открыть Дверь и Закрыть Дверь, которые получает объект Интерфейс Двери (см. рис.14); – Интерфейс Лампочки Лифта. Предоставляет операцию выключить для выключения лампочки лифта. Предполагается, что лампочка включается аппаратно, так что программная реализация операции включить не нужна. Операция выключить соответствует сообщению Выключить Лампочку Лифта, которое получает объект Интерфейс Лампочки Лифта (см. рис.14);
Рис.28. Архитектура задач для Подсистемы Планировщика: интерфейсы задач
– Интерфейс Лампочки Этажа. Предоставляет операцию выключить для выключения лампочки этажа. Предполагается, что лампочка включается аппаратно, так что программная реализация операции включить не требуется. Операция выключить соответствует сообщению Выключить Лампочку Этажа, которое получает объект Интерфейс Лампочки Этажа (см. рис.14); – Интерфейс Лампочки Направления. Предоставляет операции включить и выключить, соответствующие сообщениям Включить Лампочку Направления и Выключить Лампочку Направления, которые получает объект Интерфейс Лампочки Направления (см. рис.14).
Рис.29. Архитектура распределенной программы: интерфейсы подсистем
|