Я использую шаблон декоратора для одного из первых случаев, как часть проекта Uni. Насколько я вижу, шаблон, похоже, больше подходит для добавления функциональности модульным способом, однако нас научили этому с использованием таких технологий, как кофе или производитель пиццы, где объект имеет добавленные модульные компоненты - изменение свойства, а не поведение.Decorator Pattern - Несколько оберток или свойство количества?
Я стараюсь максимально использовать оба варианта использования, однако у меня возник вопрос. В примере в книге, которую мы используем (Head First Design Patterns), шаблон используется в кафе, создающем разные сорта кофе. Так, например, молоко, пена, сахар, брызги - все декораторы.
Как бы вы использовали систему, которая использовала один и тот же декоратор несколько раз (например, кофе с двумя сахарами)? Не могли бы вы переложить кофе или дать сахара количество собственности? Или (как я начинаю подозревать) это никогда не будет проблемой, поскольку шаблон не предназначен для использования таким образом?
Я хотел бы добавить количество цветов в декоратор, но идея применения одного и того же Decorator несколько раз интригует. Вы можете попробовать в обоих направлениях и посмотреть, что вам больше нравится. –