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/README.md

16 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

2022-11-11 09:54:25 +00:00
# Декоратор
2022-11-11 22:22:12 +00:00
Структурный паттерн проектирования, который позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки».
2022-11-11 09:54:25 +00:00
Типы декораторов соответствуют типам декорируемых компонентов (соответствие достигается посредством наследования или реализации интерфейса). Декораторы изменяют поведение компонентов, добавляя новую функциональность до и (или) после (или даже вместо) вызовов методов компонентов. Компонент может декорироваться любым количеством декораторов. Декораторы обычно прозрачны для клиентов компонента (если клиентский код не зависит от конкретного типа компонента).
## Принцип
- Согласно принципу открытости/закрытости системы должны проектироваться так, чтобы их закрытые компоненты были изолированы от новых расширений
2022-11-14 12:13:48 +00:00
## Схемы
![scheme-1](scheme-1.png)
![scheme-2](scheme-2.png)