Декоратор Pattern с несколькими бетонными компонентами - PullRequest
0 голосов
/ 11 ноября 2018

В настоящее время я хочу реализовать шаблон Decorator на статическом языке. Рассмотрим следующую структуру:

  Entity <-------- Decorator
    ^ ^                ^
    | |                |
    | |                |
Shape  Group      ConcreteDec

Когда у меня есть только ConcreteDec, я не могу вызвать Group.add(Entity), функцию, которая определена в Group, но не унаследована от Entity. Shape не класс, который мог бы добавить что-либо; Shape не может иметь членов, это не имеет смысла. Наследование add(Entity) от Entity в Shape не будет возможным.

Есть ли способ вызова add(Entity) из ConcreteDec без прерывания Shape или шаблона декоратора?

...