2015-08-31 3 views
1

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

Я не вижу особых причин использовать ассоциацию (множественность) в ракурсах класса, потому что мы не можем реализовать ее на классе. Может ли кто-нибудь объяснить, почему нам нужна ассоциация с примером?

+0

Почему вы не хотите видеть, как ваши классы соединяются визуально? Имейте в виду, что неопределенная множественность в UML означает 1..1. Если вы моделируете однонаправленные отношения, такие как реляционная база данных, вы теряете проблемный домен в домене решений. –

ответ

1

Вы можете опустить множественность, если она не добавляет ценной информации в модель. Тем не менее, в вашем шаблоне есть разные варианты, где вы хотите моделировать явную множественность. Чаще всего вы найдете 0..1 (что означает необязательное отношение), 0..* (произвольное количество отношений) и 1..* (один или несколько). Например. для человека за работой может быть 0..1 босс. У человека может быть 0..* детей. И нужно иметь 1..* друзей ;-)

Так как вы видите, это зависит от того, хотите ли вы использовать множественность или нет.

4

(двоичный) Ассоциации и атрибуты более или менее одинаковы в UML. Вы можете выбрать модель с Ассоциацией или с атрибутами или с сочетанием двух.

Я часто использую атрибуты, когда тип атрибута является типом данных и ассоциациями, когда тип другого конца является «обычным» классом. Я задокументировал эту лучшую передовую практику на своем веб-сайте: UML Best Practice: Attribute or Association

Преимущество использования ассоциаций в том, что оно показывает отношения более визуально, что делает отношение более очевидным, чем атрибуты.

+0

Да, но мы не реализуем связь (множественность). Только место, я могу предположить, что использование (множественность) находится в уровне доступа к данным, но не в бизнес-слое. – newday

+2

Уверен, что да. Ассоциации обычно реализуются с использованием атрибутов. Вы можете реализовать дополнительные ограничения, такие как множественность, как методы проверки на бизнес-объектах, или вы можете оставить это до базы данных. –

+0

Я бы не сказал, что двоичные ассоциации и атрибуты - это одно и то же. Ассоциация существенно связывает обратные свойства вместе в один аккуратный пучок. –