UML Class Self Association - PullRequest
       21

UML Class Self Association

1 голос
/ 11 марта 2020

Я просто не могу обернуть голову вокруг ассоциации с самим собой. Итак, я придумал пример: класс Body состоит из множества молекул. Молекула сама состоит из множества молекул.

Это мое решение: enter image description here

1 Ответ

0 голосов
/ 15 марта 2020

Что такое самоассоциация?

ассоциация - это отношение между двумя классами, которое говорит, что некоторые экземпляры одного класса могут быть связаны с некоторыми экземплярами другого класса.

В случае самоассоциации два класса просто оказываются одинаковыми. Это означает, что некоторые экземпляры класса могут быть связаны с некоторыми другими экземплярами класса.

Это может быть полезно, когда объект связан с другим объектом того же класса, например, отношения между людьми или отношения между узлами графа, иерархии и т. Д. c ...

Заключение

Ваш пример - прекрасный пример для такой самоассоциации. В вашем случае любая молекула может быть разбита на микромолекулы.

Больше мыслей

Более общим вариантом дизайна вашей молекулы может быть составной рисунок :

enter image description here

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

Этот дизайн особенно полезен для иерархических разложений. Это позволяет избежать самоассоциации и позволяет вести себя по-разному в зависимости от того, можно ли подразделить объект дальше или нет.

...