2009-03-13 4 views
0

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

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

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

Или:

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

Что вы думаете?

ответ

1

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

3

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

+0

Не по теме, но очень хороший совет !!! – Yarik