复合图案的定义

时间:2012-01-07 07:06:19

标签: java design-patterns composite

据说复合模式允许您将对象组合成树结构来表示部分整体层次结构。也可以说复合模式允许客户端统一处理单个对象和对象组合。我只需要解释一致地处理单个物体和物体组成的含义。

3 个答案:

答案 0 :(得分:9)

复合图案是一种分区设计图案 复合模式描述了group of objects的处理方式与object的单个实例相同。复合的目的是将“撰写”对象添加到树结构中以表示部分整体层次结构。通过实现复合模式,客户可以统一处理单个对象和组合 enter image description here
当客户端忽略 compositions objects individual objects之间的差异时,可以使用Composite。如果程序员发现他们以相同的方式使用多个对象,并且通常具有几乎相同的代码来处理它们中的每一个,那么复合是一个不错的选择;在这种情况下,将原始和复合材料视为同质的不那么复杂。

答案 1 :(得分:1)

它允许您将一组对象视为一个实体。

  

复合模式描述了一组对象   处理方式与对象的单个实例相同......

Wikipedia用图表和示例代码很好地描述了一个例子,这里的代码太多了。

答案 2 :(得分:0)

我会尝试让你理解一个例子: 考虑我们有一个像其他任何员工和经理一样的组织。在课程之外,经理可以拥有多名员工。 现在,如果我们尝试使用复合模式设计应用程序,那么管理器将是复合材料,其中将包含员工列表。 你的问题的答案是 - 虽然Mangers是复合材料,但他们需要被视为员工,因为他们有共同的行为,不是吗? 希望这会有所帮助。