一: 组合设计模式
组合模式有时候又叫做部分-整体模式,他使我们树型结构问题中,模糊简单元素和复杂元素的概念。组合模式有两种模式:透明模式 和 安全模式
从上面的图中可以看出,透明模式是把用来组合使用的方法放到抽象类中, 比add(), remove() 以及getChildren() 等方法,不管是叶子节点还是数值对象都有相同的结构,通过判断getChildren的返回值确认是叶子节点还是树枝节点,如果处理不当,这个会再运行期间出现问题,不是很建议的方式; 安全模式就不同了, 他是数值节点和树叶节点彻底分开,树枝节点单独拥有用来组合的方法,这回方式比较的安全。
(安全模式的Demo)