Может ли класс детали (компонента) быть членом двух классов сборки (коллекции)? - PullRequest
0 голосов
/ 10 мая 2018

Как бы вы представили отношения, в которых экземпляр класса является частью двух (или более) экземпляров разных классов?

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Я думаю, что ваша формулировка неверна, так как это не имеет ничего общего с экземплярами. Если на класс ссылаются в двух коллекциях, у вас просто есть две ассоциации:

enter image description here

C ссылается из B как атрибут c с кратностью *. Дито для A. Точка говорит, что имена ролей (два c s) являются собственными свойствами класса противоположной стороны.

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

0 голосов
/ 10 мая 2018

Для этого и используется shared AggregationKind (он же Агрегирование).

Вы рисуете это как ассоциацию с открытым бриллиантом на конце целом .

Если Part класс должен всегда быть частью экземпляра Whole1 как экземпляра Whole2, вы можете указать это с кратностью 1 enter image description here

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