Найти тему
Легко в’IT

Паттерны: Декоратор

Тут, не смотря на мудреное название объяснение очень простое. Вот возьмем прекрасный праздник под названием “новый год” и возьмем дом, как пример главного класса. Так вот паттерн “декоратор” - это когда мы оставляем в неизменном виде наш дом, ну там стенки не двигаем, этажи не надстраиваем, но мы к новому году дом украшаем, декорируем, добавляем ему дополнительных функций. И если у нас был просто класс SweetHome, то добавив к нему класс-декоратор SweetHomeWithDecor, мы добавим ему новых функций типа включения гирлянды и зажигания свечей. Код на Java похож будет примерно на такой:

public interface Home {
public void openDoor();
public void closeDoor();
public void toggleLights();
}

public class SweetHome implements Home {
...
}

public class SweetHomeWithDecor implements Home {
private Home home;
public SweetHomeWithDecor(Home home){
this.home = home;
}

public void toggleGarland(){
...
}
public void toggleCandle(){
...
}
}

Подписывайся и зови друзей!