Когда использовать UML Ассоциации классов? - PullRequest
9 голосов
/ 20 января 2011

Могу ли я улучшить свой дизайн на этих 2 диаграммах ниже?Если да, то как?

Меня смущает использование классов ассоциаций в моих диаграммах.Должен ли я их использовать?

Рисунок 1

class diagram 1


Рисунок 2

class diagram 2

Ответы [ 2 ]

6 голосов
/ 01 февраля 2012

Класс ассоциации используется для захвата определенных характеристик ассоциации между двумя классами.Эти характеристики не относятся к ассоциируемым классам, а относятся к отношениям между классами.

5 голосов
/ 20 января 2011

Для ассоциативных классов они имеют смысл, только если они представляют ассоциации с некоторым поведением и состоянием.Посмотрите на Article'sSubject.В нем нет ничего, кроме источника, цели и идентичности.Вам не нужен класс для такой ассоциации, просто используйте простую ассоциацию, которая обладает всеми этими свойствами.Есть больше таких ненужных ассоциативных классов в ваших диаграммах.Еще одна важная вещь при использовании классов ассоциации состоит в том, что каждый экземпляр этого класса ассоциации должен иметь уникальную пару источника и цели.Например, комментарий нельзя идентифицировать только по статье и пользователю - у одного пользователя могут быть комментарии к одной статье, и это недопустимо.

...