组合模式

组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致方式处理个别对象以及对象组合。

(1)组合模式以单一责任设计原则换区透明性。什么是透明性,通过让组件的接口同时包含一些管理子节点和叶子节点的操作,客户就可以将组合和叶子节点一视同仁
(2)当你有个对象的集合,他们彼此之间有“整体/部分”的关系,并且你打算用一致的方法对待这些对象的时候,组合模式就是适用的
(3)每一个对象都有相同的接口,不管是组合对象还是叶子对象。这样当用同一的外部循环访问的时候,可能会有些小异常

目录下有文件/目录两种结构,如何循环遍历一个目录呢,如果再增加一种Link类型?
解决方案:把目录、link、文件都当做一种类型来处理
总之,模式目标是要去掉使用new、switch、重复代码

 

posted @ 2015-10-08 01:28  mingziday  阅读(144)  评论(0编辑  收藏  举报