This repository has been archived on 2022-11-20. You can view files and clone it, but cannot push or open issues or pull requests.
patterns/decorator
Alexander Zhirov 9091f51cfa added schemes 2022-11-14 15:13:48 +03:00
..
coffee decorator 2022-11-11 15:51:42 +03:00
coffeewithsize decorator 2022-11-11 15:51:42 +03:00
README.md added schemes 2022-11-14 15:13:48 +03:00
scheme-1.png added schemes 2022-11-14 15:13:48 +03:00
scheme-2.png added schemes 2022-11-14 15:13:48 +03:00

README.md

Декоратор

Структурный паттерн проектирования, который позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки».

Типы декораторов соответствуют типам декорируемых компонентов (соответствие достигается посредством наследования или реализации интерфейса). Декораторы изменяют поведение компонентов, добавляя новую функциональность до и (или) после (или даже вместо) вызовов методов компонентов. Компонент может декорироваться любым количеством декораторов. Декораторы обычно прозрачны для клиентов компонента (если клиентский код не зависит от конкретного типа компонента).

Принцип

  • Согласно принципу открытости/закрытости системы должны проектироваться так, чтобы их закрытые компоненты были изолированы от новых расширений

Схемы

scheme-1

scheme-2