试想有一个组合类Com,这个类的数据成员是〉=1个Part,同时 Com和Part有相同的基类。
这是一种组合,符合组合模式的定义。
但是通常的。Com有属于不同类型的部分(Part1,Part2,Part3....)组成,这同样也是一种组合! 有一种方法可以解决这种尴尬。
你可以 强行为Com, Part1,Part2,Part3....定义一个公共基类,也许这个公共基类对不同的part的含义可能是灾难性的,但估计不会,因为你可以使用Adapt模式来化解吧。。
我感觉似乎 组合模式让我不舒服。因为他的组合体和部分有共同的基函数这个特性。
不过呢这一点却是 组合模式的关键点!