摘要:组合模式一组合模式定义将对象组合成树形结构以表示部分整体的层次结构组合模式使得用户对单个对象和组合对象的使用具有一致性二实现创建节点类方法调用输出三优缺点优点调用简单节点自由增加缺点类间组合,违反依赖倒置原则四源码
组合模式
一.组合模式 1.1 定义将对象组合成树形结构以表示“部分-整体”的层次结构.
组合模式使得用户对单个对象和组合对象的使用具有一致性.
二.实现 2.1 创建节点类public class Node { private String id; private String name; private String parentId; private List2.2 调用children = new ArrayList<>(); public Node(String id, String name, String parentId) { this.id = id; this.name = name; this.parentId = parentId; } //getter,setter方法 public void add(Node node){ List nodeList = this.getChildren(); nodeList.add(node); this.setChildren(nodeList); } public void print(){ System.out.println("node:" + getName()); for(Node node : children){ node.print(); } } }
public static void main(String[] args) { Node node = new Node("1", "root", ""); Node node1 = new Node("2", "composite1", "1"); Node node2 = new Node("3", "leaf1", "1"); Node node3 = new Node("4", "leaf2", "2"); node1.add(node3); node.add(node1); node.add(node2); node.print(); }2.3 输出
node:root node:composite1 node:leaf2 node:leaf1三.优缺点 3.1 优点
调用简单.
节点自由增加.
3.2 缺点类间组合,违反依赖倒置原则.
四.源码https://github.com/Seasons20/DisignPattern.git
END
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/69482.html
摘要:,对组合对象执行的操作可以向下传递到叶子节点进行操作。组合模式之图片库图片库可以有选择地隐藏或显示图片库的全部或某一部分单独的或是部分的。 本回内容介绍 上一回,聊了桥接模式,做了一道计算题;介一回,聊组合模式(Composite),官方描述组合模式将对象组合成树形结构以表示部分-整体的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 组合模式特性 这里我理了一下,就组...
摘要:什么是组合模式什么是组合模式组合模式将对象组合成树形结构以表示部分整体的层次结构,使得用户对单个对象和组合对象的使用具有一致性。组合模式应用场景组合模式应用场景只要是树形结构,就可以考虑使用组合模式。1、什么是组合模式?Compose objects into tree structures to represent part-whole hierarchies.Composite lets...
摘要:组合设计模式组合模式,将对象组合成树形结构以表示部分整体的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。 组合设计模式 组合模式,将对象组合成树形结构以表示部分-整体的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结...
摘要:简化了父和子之间的关系。对于子节点来说也是一样的,过多的接口暴露有时候也是一种滥用,同时也减少了对外部的依赖。 The Composite Pattern is a partitioning design pattern. The composite pattern describes that a group of objects is to be treated in the...
阅读 631·2021-11-15 11:39
阅读 2846·2021-10-08 10:04
阅读 3239·2019-08-30 10:57
阅读 2972·2019-08-26 13:25
阅读 1861·2019-08-26 12:14
阅读 2605·2019-08-23 15:27
阅读 2969·2019-08-23 15:18
阅读 1746·2019-08-23 14:26