В чем разница между составным шаблоном, выраженным стрелкой, указывающей на компонент, и без нее? - PullRequest
0 голосов
/ 03 июня 2018

Я разрабатываю программу и хотел бы использовать составной шаблон.Я заметил, что есть два способа выразить это: Class diagram of composite pattern with no arrow pointing to the component class

и

Class diagram of composite pattern with arrow pointing to the component class

Чторазница между двумя?Спасибо!

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Поскольку @alper уже заявляет, что между двумя обозначениями нет реальной разницы.

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

Таким образом, верхняя является более универсальной реализацией шаблона Composite.

0 голосов
/ 03 июня 2018

Нет никакой разницы, за исключением того, что один с нулем принимает составные объекты, которые являются пустыми, а другой гарантирует, что составной объект имеет хотя бы одну часть.

...