Несколько композиций в UML
На диаграмме классов UML технически правильно иметь два возможных отношения сжатия, ведущих к одному классу?
То есть у меня есть класс инвентаря, который имеет состав класса инвентаря. Я хочу иметь такие же отношения, но с контейнерным классом, который займет место инвентаря.
Итак, могу ли я иметь две композиции или мне нужно превратить их в совокупности?
2 ответа
Вы можете иметь столько составных ассоциаций, сколько захотите на уровне класса. Но каждый экземпляр может быть только частью одной композиции в определенный момент времени. UML надстройка говорит:
Если целое имеет тип агрегации = составной, то часть может быть включена не более чем в один состав за раз
Эта статья, которую я написал, пытается объяснить разницу: состав UML против агрегации против ассоциации
Любое количество композиционных объединений может привести к одному уроку. Если экземпляр составного класса состоит, например, из экземпляров нескольких типов.