当前位置: 首页 > news >正文

东莞寮步二手房seo任务平台

东莞寮步二手房,seo任务平台,公司网站建设7个基本流程,如何做翻唱网站摘要 组合模式(composite pattern): 允许你将对象组合成树形结构来表现"整体/部分"层次结构. 组合能让客户以一致的方式处理个别对象以及对象组合。 一、组合模式的意图 将对象组合成树形结构来表示“整体/部分”层次关系,允许用户以相同的方式处理单独…

摘要

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

一、组合模式的意图

将对象组合成树形结构来表示“整体/部分”层次关系,允许用户以相同的方式处理单独对象和组合对象。

二、组合模式的类图

组件(Component)类是组合类(Composite)和叶子类(Leaf)的父类,可以把组合类看成是树的中间节点。组合对象拥有一个或者多个组件对象,因此组合对象的操作可以委托给组件对象去处理,而组件对象可以是另一个组合对象或者叶子对象。

三、组合模式的实现

public abstract class Component {protected String name;public Component(String name) {this.name = name;}public void print() {print(0);}abstract void print(int level);abstract public void add(Component component);abstract public void remove(Component component);
}
public class Composite extends Component {private List<Component> child;public Composite(String name) {super(name);child = new ArrayList<>();}@Overridevoid print(int level) {for (int i = 0; i < level; i++) {System.out.print("--");}System.out.println("Composite:" + name);for (Component component : child) {component.print(level + 1);}}@Overridepublic void add(Component component) {child.add(component);}@Overridepublic void remove(Component component) {child.remove(component);}
}
public class Leaf extends Component {public Leaf(String name) {super(name);}@Overridevoid print(int level) {for (int i = 0; i < level; i++) {System.out.print("--");}System.out.println("left:" + name);}@Overridepublic void add(Component component) {throw new UnsupportedOperationException(); // 牺牲透明性换取单一职责原则,这样就不用考虑是叶子节点还是组合节点}@Overridepublic void remove(Component component) {throw new UnsupportedOperationException();}
}
public class Client {public static void main(String[] args) {Composite root = new Composite("root");Component node1 = new Leaf("1");Component node2 = new Composite("2");Component node3 = new Leaf("3");root.add(node1);root.add(node2);root.add(node3);Component node21 = new Leaf("21");Component node22 = new Composite("22");node2.add(node21);node2.add(node22);Component node221 = new Leaf("221");node22.add(node221);root.print();}
}

四、组合模式的总结

组合模式源码使用

  • javax.swing.JComponent#add(Component)
  • java.awt.Container#add(Component)
  • java.util.Map#putAll(Map)
  • java.util.List#addAll(Collection)
  • java.util.Set#addAll(Collection)

博文参考

http://www.dt0577.cn/news/27789.html

相关文章:

  • 网站制作成本seo优化教程
  • 网站整站出售成都网站建设方案推广
  • 自己做港澳台照片回执网站短视频seo优化
  • 做网站最小的字体是多少像素2023第二波疫情已经到来了吗
  • 设计中国北京不错宁波seo公司
  • 做a图片视频在线观看网站crm客户管理系统
  • 做网站的北京河北关键词排名推广
  • 网站优化推广哪家好搜索引擎优化师工资
  • wordpress书优化营商环境指什么
  • 汽车网站建设流程seo服务商技术好的公司
  • 徐州做英文网站的公司属于b2b的网站有哪些
  • 广州网站制作开发建网站用什么工具
  • 东莞做网站一般多少钱yandex搜索引擎入口
  • 微信公众平台注册官网岳阳seo公司
  • 企业网站建设中图片优化的方法网络公司排名
  • 老实人做网站蔡甸seo排名公司
  • 优化wordpress访问网站优化seo
  • 大连中山区网站建设市场调研报告范文大全
  • 电商的网站怎么做的有了域名如何建立网站
  • vue.js做的网站企业网站官网
  • 单页网站怎么做排名百度竞价推广方案
  • 手机网站 文件上传论坛seo设置
  • 生产管理网站开发信息如何优化上百度首页
  • 青海农业网站建设公司百度开户流程
  • 中国建筑土木建设有限公司网站网络营销的传播手段
  • 长沙住建信息中心网站成品ppt网站国外
  • 用什么开发和建设网站最好aso优化前景
  • 网站开发可退税有效果的网站排名
  • 免费下载精神文明建设宣传网站免费顶级域名申请网站
  • 广州网站建设案例seo从零开始到精通200讲解