什么是合适的UML类关系?

时间:2018-06-09 06:59:26

标签: uml

就我而言,CarBuilder和SuperCar(SportCar)之间的关系是什么?

说明:CarBuilder包含Car类的实例数组,但它不构造Car类的任何实例。相反,它通过直接调用这两个类的CreateInstance()方法来构造SportCar和SuperCar类的实例。

类图:CarBuilder

1 个答案:

答案 0 :(得分:0)

在你的问题中,你描述了三种不同的关系 - 一种是组合的(你已经拥有),另外两种是SuperCar和SportCar的构造者。所以我只是从CarBuilder添加一个与SuperCar和SportCar的关联。

顺便说一下,你似乎不太可能只有一辆汽车在CarBuilder中组成 - 也许你的意思是一个(弱)聚合而不是一个组合?当然CarBuilder外面可以有车吗?此外,这看起来像是战略模式的部分实施,可能值得研究是否相关。