2015-04-19 2 views
0

У меня есть 2 класса, они сложнее, но это не важно. Как я могу нарисовать эту зависимость в диаграмме классов UML? Я не уверен, как это должно выглядетьМожно использовать двунаправленную зависимость в диаграмме классов UML?

public class A { 
    private void foo(B b){ 
    .... 
    } 
    ... 
} 

public class B { 
    private void foo(A a){ 
    .... 
    } 
    .... 
} 

Можно ли сделать что-то вроде этого? или как это должно выглядеть? enter image description here

ответ

4

Это нормально. В качестве альтернативы вы можете использовать одну двунаправленную зависимость.

enter image description here

+0

Я добавил методы на картинке, как в отредактированном вопросе OP (просто посмотрите, что моя фотография показывает их публично - предположим, что это нормально ;-) –

1

Мне кажется, у вас есть Aggregation. См. Подробности here. Но если это действительно просто зависимость, вы можете использовать стрелу, как это делали.

+1

Это не может быть агрегация, поскольку вы не можете построить два элемента, которые объединяются друг друга. Как бы вы построили элементы, которые могут быть построены только в том случае, если агрегированная часть уже существует? –

+0

Да, у него правда. Я неправильно описал классы. Я исправлю это. – Pauli

+1

@ Томас Килиан, это показалось мне немного нелогичным, и решил указать на это. В противном случае вы правы. Если бы это была композиция, она могла бы быть двунаправленной, но двунаправленная агрегация не имеет смысла. –