Ассоциации UML - PullRequest
       37

Ассоциации UML

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

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

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

Во-вторых, я видел линии, проведенные между классами, которые не являются агрегатными или составными - то есть там вообще нет алмазов. Вот пример, где они документируют шаблон наблюдателя:

http://www.dofactory.com/Patterns/PatternObserver.aspx

они показывают линию от субъекта к наблюдателю без какого-либо ромба. О чем все это?

спасибо

Ray

Ответы [ 2 ]

0 голосов
/ 21 января 2011

Пунктирная линия подразумевает зависимость.Существует много разных типов зависимости, одним из которых является создание экземпляров.Как говорилось ранее, ассоциации - это способ описания отношений между классами, имеющими свойство другого класса.Когда речь заходит об отношениях между классами в диаграмме классов, полезно начать с самого конкретного и перейти к более общему.Итак, начнем с композиции, агрегации, ассоциации и зависимости.

0 голосов
/ 21 января 2011

UML-ассоциация используется для передачи взаимосвязи между двумя или более классификаторами (например, классами). Композиции и агрегаты являются специализированными формами объединения.

Ассоциации часто используются в диаграммах классов, чтобы указать, что экземпляры одного класса могут иметь ссылки на экземпляры другого класса. Например, на диаграмме, с которой вы связываете, связь между ConcreteObserver и ConcreteSubject подразумевает, что экземпляр ConcreteObserver может иметь ссылку на экземпляр ConcreteSubject (обратите внимание на направленность ассоциации).

...