Задание
Условие
Реализуйте систему для управления различными устройствами умного дома с использованием паттерна "Мост". У вас есть два типа устройств: телевизоры и лампочки. Каждое устройство может иметь несколько разных производителей, например, "Sony" и "Samsung" для телевизоров, "Philips" и "IKEA" для лампочек.
Необходимо создать абстракцию для устройств и конкретные реализации для каждого производителя. Также требуется создать интерфейс для управления этими устройствами, включающий методы включения, выключения и изменения состояния (например, смена канала для телевизора или изменение яркости для лампочки).
Требования
Создайте интерфейс
Device
, который определяет методыturn_on()
,turn_off()
иset_state(state)
.Реализуйте конкретные классы устройств:
TV
иLight
, которые будут использовать интерфейсDevice
.Создайте абстракцию
RemoteControl
, которая будет взаимодействовать с устройствами через интерфейсDevice
.Реализуйте конкретные классы производителей, например,
SonyTV
,SamsungTV
,PhilipsLight
,IKEALight
.Создайте клиентский код, который демонстрирует использование созданной системы.