Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект: Умный дом (Smart Home)

Описание

Этот проект реализует систему управления умным домом на языке Java с использованием композитного паттерна. Система позволяет управлять умными устройствами (светильники, термостаты, камеры) и объединять их в группы (комнаты и этажи). Композитная структура обеспечивает гибкое добавление и удаление устройств и групп.

Структура проекта

src/
├── devices/
│   ├── SmartDevice.java        # Интерфейс умного устройства
│   ├── Light.java              # Умный светильник
│   ├── Thermostat.java         # Термостат
│   ├── Camera.java             # Камера видеонаблюдения
├── composites/
│   ├── DeviceGroup.java        # Абстрактная группа устройств
│   ├── Room.java               # Комната с устройствами
│   └── Floor.java              # Этаж с несколькими комнатами
└── Main.java                   # Точка входа

Паттерн: Компоновщик (Composite)

Компоновщик позволяет объединять устройства в группы и управлять ими как единым объектом. Это позволяет включать и выключать все устройства на этаже или в комнате одной командой.

Запуск проекта

  1. Скомпилируйте все файлы из папки src.
  2. Запустите класс Main.
  3. Наблюдайте за выводом в консоли: включение, выключение и статус устройств на каждом этаже и в комнате.

Пример вывода:

Включение всех устройств в Первый этаж
Включение всех устройств в Гостиная
Люстра включен.
Камера наблюдения запись начата.
Включение всех устройств в Спальня
Ночник включен.
Обогреватель установлен на 22°C.
Первый этаж содержит устройства:
  - Гостиная содержит устройства:
    - Люстра (Свет): Включен
    - Камера наблюдения (Камера): Запись активна
  - Спальня содержит устройства:
    - Ночник (Свет): Включен
    - Обогреватель (Термостат): Работает на 22°C

Авторы

Проект выполнен в рамках учебного задания по использованию паттернов проектирования на языке Java.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages