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

html网站 下载做网站搞友情链接

html网站 下载,做网站搞友情链接,五合一网站做优化好用吗,跨境电商公司注册摘要 组合模式(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.yayakq.cn/news/701012/

相关文章:

  • 电商网站建设网络公司网站开发商业秘密保密协议
  • 做区位分析底图的网站网站备案 更名
  • 湖南网站建设多少钱做一张网站专栏背景图
  • 网站注销主体注销最新网站推广方法
  • 医疗门户网站模板seo在哪可以学
  • 网站开发实用吗兰州市城关区建设局网站
  • 重庆市建设工程施工安全管理网站软件汇
  • 境外网站 备案wordpress支付宝收银台
  • 网站域名格式新媒体营销课程心得体会
  • 网站后台不能排版公司网站设计制作
  • 网站域名的单词wordpress acg站
  • 广州网站优化系统最便宜的酒店网站建设
  • 怎么给客户谈做网站怎么查看网站dns
  • 网页安全站点设置生存曲线哪个网站可以做
  • 品牌宣传型网站wordpress按钮弹图片
  • 济南小程序网站制作桦甸网站开发定制
  • 阿里云搭建安装wordpress教程安徽网络关键词优化
  • 在自己的网站上怎么做淘宝客有哪些做共享充电宝的网站
  • 广州建网站的公司wordpress js 添加图片
  • 郑州做网站锐中国建设部网站监理延续
  • 网站建设动态静态中国城乡住房和建设部网站
  • 服务器做jsp网站教程视频浙江网站建设平台
  • 上海工商网站查询企业信息如何检测网站开发商留有后门
  • 网站建设需要的项目网站推广必备的工具
  • 怎么买速成网站wordpress创建页面失败
  • 优秀网站建设空间沈阳企业自助建站
  • 珠海网站推广排名做家政网站公司简介
  • 网站建设西班牙语自学免费网站建设
  • 北京cms建站模板软件开发属于哪个专业
  • 黄山找人做网站岳阳有哪几家做网站的