Интернет магазин китайских планшетных компьютеров



Компьютеры - Декоратор (шаблон проектирования) - Замечания и комментарии

30 марта 2011


Оглавление:
1. Декоратор (шаблон проектирования)
2. Замечания и комментарии
3. Применение шаблона



  • Хотя объект-декоратор может добавлять свою функциональность до или после функциональности основного объекта, цепочка создаваемых объектов всегда должна заканчиваться объектом класса ConcreteComponent.
  • Базовые классы языка Java широко используют шаблон Декоратор для организации обработки операций ввода-вывода.
  • И декоратор, и адаптер являются обертками вокруг объекта - хранят в себе ссылку на оборачиваемый объект и часто передают в него вызовы методов. Отличие декоратора от адаптера в том, что адаптер имеет внешний интерфейс, отличный от интерфейса оборачиваемого объекта, и используется именно для стыковки разных интерфейсов. Декоратор же имеет точно такой же интерфейс, и используется для добавления функционала.
  • Для расширения функционала класса возможно использовать как декораторы, так и стратегии. Декораторы оборачивают объект снаружи, стратегии же втыкаются в него внутрь по неким интерфейсам. Недостаток стратегии: класс должен быть спроектирован с возможностью втыкания стратегий, декоратор же не требует такой поддержки. Недостаток декоратора: он оборачивает ровно тот же интерфейс, что предназначен для внешнего мира, что вызывает смешение публичного интерфейса и интерфейса кастомизации, которое не всегда желательно.


Просмотров: 2340


<<<