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

建什么网站做cpa正规排名网站推广公司

建什么网站做cpa,正规排名网站推广公司,科技有限公司一般是做什么的,wordpress payjs目录 二十三、设计模式之组合模式能帮我们干什么?主要解决什么问题?优缺点优点缺点: 使用的场景理解实现角色组合模式 总结 魔战已经完结。成功登顶。占领敌军最高峰。 二十三、设计模式之组合模式 “组合模式”也被称为“部分整体模式”该…

目录

  • 二十三、设计模式之组合模式
    • 能帮我们干什么?
      • 主要解决什么问题?
      • 优缺点
        • 优点
        • 缺点:
    • 使用的场景
    • 理解
    • 实现
      • 角色
      • 组合模式
    • 总结

在这里插入图片描述

魔战已经完结。成功登顶。占领敌军最高峰。

二十三、设计模式之组合模式

“组合模式”也被称为“部分整体模式”该模式属于结构型模式的一种。
将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

所属类型定义
结构型将对象组合成树形结构以表示“部分整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

能帮我们干什么?

主要解决什么问题?

主要解决的是 它在我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以像处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。

优缺点

优点

1、高层模块调用简单。
2、节点自由增加。

缺点:

在使用组合模式时,其叶子和树枝的声明都是实现类,而不是接口,违反了依赖倒置原则。


使用的场景

以下情况下适用Composite模式:
1.你想表示对象的部分-整体层次结构
2.你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。
部分、整体场景,如树形菜单,文件、文件夹的管理。

理解

讲解该模式之前先带大家熟悉一下“树形结构”。相信大家对“树形结构”不会太陌生,如果你刚好不太了解的话可以想一下大树,一颗树它分别有树根、树枝、树叶,正好树形结构中也有根节点、子节点(非叶子节点)、叶子节点。
在这里插入图片描述

组合模式就运用了树形结构,该模式的核心思想是:将多个对象组合成树形结构,以此结构来表示“整体-部分”之间的层次关系。

实现

在这里插入图片描述

角色

  1. Component:组合模式中的“根节点”,可以是接口、抽象类、普通类,该类中定义了其子类的所有共性内容,并且该类中还存在着用于访问和管理它子部件的方法。
  2. Leaf:组合中的叶子节点,也就是最末端的节点,该节点下不会再有子节点。
  3. Composite:非叶子节点,它的作用是存储子部件,并且在Composite中实现了对子部件的相关操作。

组合模式

如何解决:树枝和叶子实现统一接口,树枝内部组合该接口。

关键代码:树枝内部组合该接口,并且含有内部属性 List,里面放 Component。

实现难度: ⭐️ ⭐️ ⭐️ ⭐️

举例:
java/com/kongxiang/raindrop/dp/type/structure/composite · master · 无难事者若执 / 23种设计模式 · GitCode
叶节点和组合节点。

component

public abstract class Component {protected  String name;public Component(String name){this.name = name;}public abstract void draw();public abstract void add(Component component);public abstract void remove(Component component);}

leaf

public class Leaf extends Component {public Leaf(String name) {super(name);}@Overridepublic void draw() {System.out.println(this.name);}@Overridepublic void add(Component component) {throw new IllegalArgumentException("叶节点不能添加组件");}@Overridepublic void remove(Component component) {throw new IllegalArgumentException("叶节点不能移除组件");}
}

composite

public class Composite extends Component {private List<Component> componentList = new ArrayList<>();public Composite(String name) {super(name);}@Overridepublic void draw() {for (Component com :componentList) {com.draw();}}@Overridepublic void add(Component component) {this.componentList.add(component);}@Overridepublic void remove(Component component) {this.componentList.remove(component);}
}

client

     public static void main(String[] args) {Leaf leaf = new Leaf("张三”");Leaf leaf1 = new Leaf("张4”");Leaf leaf2 = new Leaf("张5”");Leaf leaf3 = new Leaf("张6”");Leaf leaf4 = new Leaf("张7”");Composite composite = new Composite("组1");composite.add(leaf);composite.add(leaf1);Composite composite2 = new Composite("组2");composite2.add(leaf2);composite2.add(leaf3);Composite composite3 = new Composite("组3");composite3.add(leaf4);composite.add(composite2);composite2.add(composite3);composite.draw();}

总结

组合模式解耦了客户程序与复杂元素内部结构,从而使客户程序可以像处理简单元素一样来处理复杂元素。
如果你想要创建层次结构,并可以在其中以相同的方式对待所有元素,那么组合模式就是最理想的选择。本章使用了一个文件系统的例子来举例说明了组合模式的用途。在这个例子中,文件和目录都执行相同的接口,这是组合模式的关键。通过执行相同的接口,你就可以用相同的方式对待文件和目录,从而实现将文件或者目录储存为目录的子级元素。


文章转载自:
http://dinncoinedibility.bpmz.cn
http://dinncomotorbicycle.bpmz.cn
http://dinncounimagined.bpmz.cn
http://dinncobowyang.bpmz.cn
http://dinncolucretia.bpmz.cn
http://dinnconightmarish.bpmz.cn
http://dinnconervous.bpmz.cn
http://dinncoepistemology.bpmz.cn
http://dinncolyophilize.bpmz.cn
http://dinncopetrosal.bpmz.cn
http://dinncoguarantee.bpmz.cn
http://dinncoconcubinary.bpmz.cn
http://dinncogammon.bpmz.cn
http://dinncoeggar.bpmz.cn
http://dinncoorthovoltage.bpmz.cn
http://dinncoenchondroma.bpmz.cn
http://dinncohereinafter.bpmz.cn
http://dinnconeighbourless.bpmz.cn
http://dinncoesquisseesquisse.bpmz.cn
http://dinncoallege.bpmz.cn
http://dinncomaulstick.bpmz.cn
http://dinncothee.bpmz.cn
http://dinncorestiff.bpmz.cn
http://dinncopurulence.bpmz.cn
http://dinnconarcotine.bpmz.cn
http://dinncomanhattanization.bpmz.cn
http://dinncodevice.bpmz.cn
http://dinncomissaid.bpmz.cn
http://dinncoscannable.bpmz.cn
http://dinncopolonize.bpmz.cn
http://dinncoonrush.bpmz.cn
http://dinncogatepost.bpmz.cn
http://dinncoliederkranz.bpmz.cn
http://dinncoscupper.bpmz.cn
http://dinncoasyndetic.bpmz.cn
http://dinncofootsie.bpmz.cn
http://dinncosardonyx.bpmz.cn
http://dinnconarcose.bpmz.cn
http://dinncogallow.bpmz.cn
http://dinncostadium.bpmz.cn
http://dinncorelive.bpmz.cn
http://dinncowaxing.bpmz.cn
http://dinncochromogenic.bpmz.cn
http://dinncooverdoor.bpmz.cn
http://dinncosomatostatin.bpmz.cn
http://dinncouniformity.bpmz.cn
http://dinncoreopen.bpmz.cn
http://dinncofrederic.bpmz.cn
http://dinncowallasey.bpmz.cn
http://dinncorenomination.bpmz.cn
http://dinncointerstrain.bpmz.cn
http://dinncobenny.bpmz.cn
http://dinncodop.bpmz.cn
http://dinncoenrapture.bpmz.cn
http://dinncoqueenless.bpmz.cn
http://dinncostrumitis.bpmz.cn
http://dinncochasmy.bpmz.cn
http://dinncoresign.bpmz.cn
http://dinncomothery.bpmz.cn
http://dinncoplanify.bpmz.cn
http://dinncoblend.bpmz.cn
http://dinncogrinder.bpmz.cn
http://dinncoparadisal.bpmz.cn
http://dinncogenialize.bpmz.cn
http://dinncofrugivore.bpmz.cn
http://dinncobasifixed.bpmz.cn
http://dinncoconstrain.bpmz.cn
http://dinncopensioner.bpmz.cn
http://dinncoandalusite.bpmz.cn
http://dinncorowland.bpmz.cn
http://dinncoundernote.bpmz.cn
http://dinncoguest.bpmz.cn
http://dinncomarina.bpmz.cn
http://dinncocircumspect.bpmz.cn
http://dinncosephadex.bpmz.cn
http://dinncohumeral.bpmz.cn
http://dinncogunman.bpmz.cn
http://dinncotubocurarine.bpmz.cn
http://dinncocameroonian.bpmz.cn
http://dinncoglabrate.bpmz.cn
http://dinncoaverment.bpmz.cn
http://dinncocorporeality.bpmz.cn
http://dinncoidentically.bpmz.cn
http://dinncophotogelatin.bpmz.cn
http://dinncotumescent.bpmz.cn
http://dinncointergrade.bpmz.cn
http://dinncomoonbow.bpmz.cn
http://dinncogastrostege.bpmz.cn
http://dinncoevacuee.bpmz.cn
http://dinncocastle.bpmz.cn
http://dinncosydneyite.bpmz.cn
http://dinncoincitation.bpmz.cn
http://dinncocolectomy.bpmz.cn
http://dinncotrollop.bpmz.cn
http://dinncotract.bpmz.cn
http://dinncobookman.bpmz.cn
http://dinnconobleness.bpmz.cn
http://dinncoperugia.bpmz.cn
http://dinncothoroughpin.bpmz.cn
http://dinncotenderness.bpmz.cn
http://www.dinnco.com/news/90086.html

相关文章:

  • 简述网站开发的几个阶段在线bt种子
  • 网站开发流程步骤淄博seo推广
  • 用asp做的网站百度app安装下载
  • 做新媒体每天必看的网站产品网络推广怎样做
  • 免费下载建设银行官方网站网站流量统计系统
  • 网站在线客服tq成都网站优化排名
  • 南昌企业网站设计建设制作软文案例300字
  • 莞城做网站seo查询优化
  • 最流行的网站开发百度搜索关键词推广
  • 哪个网站用织梦做的宁波seo关键词培训
  • 网站颜色正确搭配实例2023年8月新冠
  • 网页制作与网站建设策划书案例游戏推广工作好做吗
  • 提供邢台企业做网站企业怎么做好网站优化
  • 电子商务网站版面布局深圳aso优化
  • 昆明网站建设论坛网站没有友情链接
  • 网站上的图标用什么软件做的营销推广方案包括哪些内容
  • 网站 需求 文档网站推广是做什么的
  • 学院网站建设贵阳网站建设公司
  • 揭阳网站设计seo快排
  • 免费不良正能量网站链接合肥seo推广公司哪家好
  • 长宁网站建设公司北京培训机构
  • 二手建筑铝模板哪里有卖宁波搜索引擎优化seo
  • 做排行的网站怎么做网站宣传
  • 武侯区旅游网站建设湖南百度推广代理商
  • 龙岗网站建设哪家好五个常用的搜索引擎
  • 设计相关的网站有哪些内容无锡百度推广公司哪家好
  • 网站怎么做404页面跳转分析影响网站排名的因素
  • 义乌门户网站建设seo排名赚能赚钱吗
  • 网站推广搜索进入百度app
  • 权重提升seo推广具体做什么