2009-12-08 3 views
6

Я смотрел на decorator шаблон дизайна (я новичок в этой теме шаблонов проектирования), и мне было интересно,Decorator Design Pattern

  1. Может декоратор взаимодействовать с более чем одним компонентом?
  2. Если A является декоратором компонента B, может ли A иметь операции, которые B не имеет?

спасибо.

ответ

11

1.) Да
2.) Да, это основная точка декоратора. Чтобы добавить функциональность к объекту, он украшает.

Decorator Pattern

1

Декоратор просто добавляет функциональность классу, который он украшает. Сорта, как глазурь на торте. Вы можете украсить более одного компонента, но это больше похоже на Facede, хотя я могу ошибаться. Второй вопрос - оболочка добавляет функциональность, но также может маскировать его

+0

Я согласен, добавление функциональности не обязательно означает добавление новых операций. –