组合模式
2017-03-20 14:03:51 0 举报
组合模式是一种结构型设计模式,它将对象组织成树形结构,使客户端可以以统一的方式处理单个对象和组合对象。通过使用组合模式,客户端代码可以递归地访问单个对象和组合对象的成员,而无需关心它们是单个对象还是组合对象。组合模式实现了“部分-整体”的层次结构关系,使得用户对单个对象和组合对象的使用具有一致性。组合模式的优点在于增加新的部分或删除旧的部分都非常方便,符合开闭原则。但是,由于组合模式需要创建大量的对象,因此可能会影响系统的性能。
作者其他创作
大纲/内容
Composite root = new Composite(\"root\")Composite com1 = new Composite(\"com1\")com.add(new Leaf(\"leaf1\"))com.add(new Leaf(\"leaf2\"))Composite com2 = new Composite(\"com2\")com2.add(com1)root.add(com2)
add(){...}
List children
com2
Component(name){ this.name= name}
display(){...}
leaf2
Leaf
display(){ ...}
Composite
abstract add()
com1
abstract remove()
abstract display()
当需求中出现部分与整体的逻辑时,可以采用此模式
leaf1
remove(c){ children.remove(c)}
remove(){...}
root
abstract Component
add(Component c){ children.add(c)}
0 条评论
下一页