2010-09-13 2 views
0

У меня есть 2 вопроса о диаграмме классов. во-первых, если я использовал объект класса A в своем классе B, при рисовании диаграммы классов я должен ассоциировать класс A с B. или ассоциация используется только тогда, когда класс использует метод другого класса.класс диаграмма вопрос

мой другой вопрос почти аналогичный. если в классе A у меня есть словарь < класс B, класс C>, то в диаграмме классов я должен сопоставить класс A с B и C и сказать 'use'in connection?

ответ

0

На мой взгляд, в обоих случаях это Dependency вы показываете, не Ассоциация.

В UML, отношения, как правило, охватывают:

  1. Завис
  2. Ассоциация
  3. ОБОБЩЕНИЕ
  4. Relization

В вашем случае, ближайший является зависимость от класса A на B и C (представлен пунктирной линией со стрелкой до B и C). Вы не напрямую связываете (посредством агрегации или композиции), вы не обобщаете А на В или С (или наоборот), а не на В или С, реализующие А (или наоборот).

Если у вас есть сомнения, я настоятельно рекомендую использовать инструмент обратного проектирования UML и написать скелет исходного кода, который вы знаете, и посмотреть, что он предлагает. Я использую, но не обязательно рекомендую, Enterprise Architect.

0

Ассоциации используются, когда класс A будет иметь атрибут типа B. I.e. на уровне UML это указывается с помощью ассоциаций. На уровне кода, например. Java, эти ассоциации преобразуются в атрибуты в классах участников (один или два в зависимости от навигационных свойств ассоциации)