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

金溪网站建设网站表格怎么做的

金溪网站建设,网站表格怎么做的,响应式网站简单模板,站内推广和站外推广的区别摘要 组合模式(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/799836/

相关文章:

  • 网站前台管理系统模板和网站是一体的吗
  • 阿里云域名备案网站建设方案书做庭院的网站
  • 舟山城乡建设部网站首页免费在线网站
  • 梅州做网站多少钱沈阳网站建设制作
  • 怎么做网站安全运维磁力链
  • 抄袭网站网页设计图片切换代码
  • 商城网站如何建设网销网站建设流程图
  • 微信php网站开发流程手机windows wordpress
  • 网络代码广州seo报价
  • 旅游网站哪家好又便宜罗城建设局网站
  • 南昌seo网站推广费用网站被k十大原因
  • 1688网站链接图片怎么做番禺网站 建设信科网络
  • 广西网站建设开发外包什么是网络营销产生的观念原因
  • 网站设计框架图网站建设规模
  • 关键词百度网盘简单建优化网站无需技术
  • 手机网站后台模板宁波网站推广厂家排名
  • 重庆百度seo整站优化网站开发如何处理兼容性问题
  • 那种自行提取卡密的网站怎么做淘宝客网站返利程序
  • 浙江华纳建设有限公司网站广州今天新闻
  • 企业网站管理系统 免费游戏网站代理
  • 网址导航怎么删除郑州众志seo
  • 专业建设网站服务网站商城的意义
  • wordpress网站科学主题丰台做网站公司
  • 凡客建站网网站备案繁琐工作
  • 谈网站建设问的几个问题湘潭网站建设 技精磐石网络
  • 个人作品网站链接怎么做发卡网站搭建教程
  • 没网站怎么做app网站建设傲
  • 网站搭建需要什么技术asp网站建设技术方案
  • 重庆app推广公司seo在线优化系统
  • 网站图片怎么做的高级建立网站的阶段