我有两个班级,但不要使用什么样的关系。我有一个类文档,有很多属性,没有方法。第二类是我称之为DocumentFact(Fact - Factory)。该类包含返回Document对象集合的不同方法。
因此,Document类对DocumentFact类一无所知,因为它与它无关。另一方面,DocumentFact创建多个Document对象。这是什么样的UML关系?我在想这样的事情:
-------------- ------------
|DocumentFact| -------> | Document |
-------------- 2.* ------------
或者:
-------------- ------------
|DocumentFact| ------- []| Document | // Composition
-------------- ------------
您怎么看?
答案 0 :(得分:3)
听起来更像是«instantiates»依赖关系?
答案 1 :(得分:3)
只是我的意见 - 如果DocumentFact真的是一个工厂,我会花费额外的三次击键并拼出来。您强制类的用户在第一次阅读类名时判断您是指“文档工厂”还是“文档的事实”。不确定性是不必要的,特别是如果你可以触摸类型。我建议让这个名字更加自我记录,而不是模棱两可。
答案 2 :(得分:1)
我同意工具包,工厂 - >产品是实例化关系 - 多重描述符不适用,除非工厂也打算维护对产品对象的引用,在这种情况下它是1:*或1:n (multiton)无论如何