У меня есть приложение, которое моделирует дерево с классами Tree, Node и Edge (мне нужен класс Edge!), И я не уверен, как для этого представить отношения в диаграмме классов. Я читал об этом другие посты, но все еще сомневаюсь.
Объект Tree имеет указатель на узел (его корень), который, как я считаю, определяет одностороннюю связь (Tree ->
Node) с кратностью 1..1 в обоих концах. Это правильно?
Каждый объект Node имеет указатели на края, которые выходят из него (объекты Edge). Поскольку эти ребра существуют, только если существует узел, я считаю, что это композиционная ассоциация.
Но тогда у меня в каждом объекте Edge указатель на целевой узел края. Как я могу представить эти отношения, учитывая, что у меня уже есть состав Node ->
Edge, описанный выше?
Кроме того, если вы все еще читаете :), у каждого узла есть указатель на его родительский узел. Здесь я бы использовал одностороннюю унарную ассоциацию, но я не знаю, какое имя использовать для этих отношений.
Спасибо за любую помощь.