ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1446939 Топик полностью
Tyмблep (05.07.2024 17:59, просмотров: 273) ответил Cкpипaч на Небезинтересно. Спасибо :)
Не совсем. 

Подставить "на лету" нужную (и даже не известно что делающую)

реализацию лишь дополнительный бонус.

Побочный эффект.

(Подставлять "на лету" нужную реализацию это основная

задача паттерна "стратегия". Это я так понял. )

---

Главное в этом паттерне - разделение абстракции от реализации.

Например, у нас есть класс Led. У него методы - off и on.

Это некий индикатор. Индикатор вообще. Мы не знаем какой именно.


В классе объявим указатель на интерфейс, реализующий Led.

Интерфейс - это абстрактный класс. У него тоже методы off и on.

Также, предусмотрим метод, для передачи в класс Led реального указателя

на класс - реализацию.

Но какая будет реализация (наследник класса-интерфейса) мы не знаем.

Она может быть любая и написана кем угодно.

В том числе, отправка мэйла сотруднику за соседним столом,

с просьбой пойти в соседнюю комнату и вручную включить

лампочку.