Вопрос

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

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

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

Или:

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

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

Это было полезно?

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top