设计模式之《结构型模式》版块(基于Java) (10)

设计模式之《结构型模式》版块(基于Java)

public class Composite { public static void main(String[] args) { /* 1.Map 就是一个抽象的构建(类似Component层) 2.HashMap是一个中间的构建(Composite)实现/继承了相关方法 put,putAll... 3.Node 是HashMap的静态内部类,类似Leaf叶子节点 这里没有put,putAll... 不管理其它组件 */ Map<Integer,String> hashMap=new HashMap<Integer,String>(); //直接存放叶子节点 hashMap.put(0, "东游记"); Map<Integer,String> map=new HashMap<Integer,String>(); map.put(1, "西游记"); map.put(2, "红楼梦"); hashMap.putAll(map); System.out.println(hashMap); } }

设计模式之《结构型模式》版块(基于Java)

设计模式之《结构型模式》版块(基于Java)

设计模式之《结构型模式》版块(基于Java)

设计模式之《结构型模式》版块(基于Java)

组合模式的注意事项和细节

简化客户端操作。客户端只需要面对一致的对象而不用考虑整体部分或者节点叶子 的问题。

具有较强的扩展性。当我们要更改组合对象时,我们只需要调整内部的层次关系, 客户端不用做出任何改动.

方便创建出复杂的层次结构。客户端不用理会组合里面的组成细节,容易添加节点 或者叶子从而创建出复杂的树形结构

需要遍历组织机构,或者处理的对象具有树形结构时, 非常适合使用组合模式.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzzjxd.html