Этот проект реализует систему управления умным домом на языке Java с использованием композитного паттерна. Система позволяет управлять умными устройствами (светильники, термостаты, камеры) и объединять их в группы (комнаты и этажи). Композитная структура обеспечивает гибкое добавление и удаление устройств и групп.
src/
├── devices/
│ ├── SmartDevice.java # Интерфейс умного устройства
│ ├── Light.java # Умный светильник
│ ├── Thermostat.java # Термостат
│ ├── Camera.java # Камера видеонаблюдения
├── composites/
│ ├── DeviceGroup.java # Абстрактная группа устройств
│ ├── Room.java # Комната с устройствами
│ └── Floor.java # Этаж с несколькими комнатами
└── Main.java # Точка входа
Компоновщик позволяет объединять устройства в группы и управлять ими как единым объектом. Это позволяет включать и выключать все устройства на этаже или в комнате одной командой.
- Скомпилируйте все файлы из папки
src. - Запустите класс
Main. - Наблюдайте за выводом в консоли: включение, выключение и статус устройств на каждом этаже и в комнате.
Включение всех устройств в Первый этаж
Включение всех устройств в Гостиная
Люстра включен.
Камера наблюдения запись начата.
Включение всех устройств в Спальня
Ночник включен.
Обогреватель установлен на 22°C.
Первый этаж содержит устройства:
- Гостиная содержит устройства:
- Люстра (Свет): Включен
- Камера наблюдения (Камера): Запись активна
- Спальня содержит устройства:
- Ночник (Свет): Включен
- Обогреватель (Термостат): Работает на 22°C
Проект выполнен в рамках учебного задания по использованию паттернов проектирования на языке Java.