Диаграмма классов UML Тип отношений - PullRequest
0 голосов
/ 13 марта 2009

У меня есть два класса, но не знаю, какое отношение я должен использовать. У меня есть класс Document с множеством свойств и без методов. Второй класс - это то, что я назвал DocumentFact (Fact - Factory). Этот класс содержит различные методы, которые возвращают коллекцию объектов Document.

Итак, класс Document ничего не знает о классе DocumentFact, потому что он не имеет к нему никакого отношения. С другой стороны, DocumentFact создает несколько объектов Document. Что это за отношение UML? Я думал что-то вроде этого:

--------------           ------------
|DocumentFact|  -------> | Document |
--------------       2.* ------------  

Или:

--------------            ------------
|DocumentFact|  ------- []| Document |         // Composition
--------------            ------------  

Что ты думаешь?

Ответы [ 3 ]

3 голосов
/ 13 марта 2009

Просто мое мнение - если DocumentFact действительно является Фабрикой, я бы потратил дополнительные три нажатия клавиш и прописал их. Вы заставляете пользователей вашего класса выяснить, имеете ли вы в виду «фабрику документов» или «факт о документе», когда они впервые читают имя класса. Неопределенность не нужна, особенно если вы можете коснуться типа. Я бы рекомендовал сделать название более самодокументированным и менее двусмысленным.

3 голосов
/ 13 марта 2009
1 голос
/ 13 марта 2009

Я согласен с инструментарием, что фабрики-> продукт - это отношение экземпляров - дескриптор множественности не применяется, если фабрика также не предназначена для хранения ссылок на объекты продукта, в этом случае это 1: * или 1: n ( мультитон) все равно

...