Является ли шаблон проектирования Composite хорошим решением для внутренних вложенных компонентов? - PullRequest
0 голосов
/ 21 февраля 2020

Пытаясь спроектировать иерархию классов, которая допускает композицию (набор элементов), я прихожу к блокировщику, поскольку на самом деле не знаю, какой шаблон применить здесь, но я знаю, что он есть.

Контекст является следующим.

Я хотел бы определить вид Structure, который содержит несколько Element объектов. Тем не менее, в этих Element объектах у меня может быть больше Element объектов, поскольку они могут быть вложены n градусов внутрь.

Я могу думать о Decorator, поскольку это как "взять элемент и украсить его все, что вы хотите ", но не уверен, что это то, что мне действительно нужно с тех пор, проверьте диаграмму ниже.

class diagram

Что, если ConcreteElement содержит еще один Element или List<Element>? Есть ли для этого подшаблон или я могу просто вывести те, кто находится внутри класса, в качестве атрибутов и обработать логи c в пределах process()?

Хотелось бы установить элементы как структуру и затем каждый элемент может вызвать себя или любой из его дочерних объектов Element того же уровня в иерархии, чтобы завершить себя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...