1、问题场景
场景: 在开发中,经常可能要递归构建树状的组合结构。
问题: 怎么设计实现“部分--整体”的整体结构,希望用户忽略组合对象和单个对象的不同,统一使用组合机构中的所有对象。
2、解决办法
组合模式:将对象以树形结构组织起来,已达成“部分-整体”的层次结构,使得客户对单个对象和组合对象使用具有一致性。它的呈现形态:客户可以直接使用叶子节点Leaf或者使用Component构建子类节点。
UML图:
优缺点:客户端调用简单,,使得单一结构或者组合结构的使用规则一致,同时更容易在组合体内部增加部件,而客户不必为新增对象部件而更改代码。组合模式不容易限制组合中的构建部件类型,导致不符合要求的部件随意添加,造成管理混乱。
---------------------------------------------------------------------------
Name:一个奔跑中的loser
E-mail:chenfeiyoucan@163.com
_________________________________________