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

定制网站制作费用阿里指数查询手机版

定制网站制作费用,阿里指数查询手机版,中小企业网络解决方案,株洲醴陵疫情最新情况1 组合模式: 整体-部分模式,它是一种将对象组合成树状层次结构的模式,用来表示整体和部分的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式 1.1 特点: 组合模式使得客户端代码可以一致的处理单个对象和组合对象更容易在组合体内加入新的对象,客户端不…

1 组合模式:

整体-部分模式,它是一种将对象组合成树状层次结构的模式,用来表示整体和部分的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式

1.1 特点:

  1. 组合模式使得客户端代码可以一致的处理单个对象和组合对象
  2. 更容易在组合体内加入新的对象,客户端不会因为加入新的对象而改变原代码,满足''开闭原则''

1.2 缺点:

  1. 设计较复杂,客户端需要花更多的时间理清类之间的关系
  2. 不容易限制容器中的构建
  3. 不容易用继承的方法来增加构件的新功能 

1.3 结构:

  1. 抽象构件角色:
  2. 树叶构件角色:
  3. 树枝构件角色/中间构件: 

1.4 组合模式分为透明式的组合模式和安全式的组合模式。 

  1. 透明式:抽象构件声明了所有子类中的全部方法,客户端无需区别树叶对象和树枝对象
  2. 安全式:将管理子构件的方法移到树枝构件中,抽象构件和树叶构件没有对子对象的管理方法

1.5 代码实现

透明模式

public class CompositePattern {public static void main(String[] args) {Component c0 = new Composite();Component c1 = new Composite();Component leaf1 = new Leaf("1");Component leaf2 = new Leaf("2");Component leaf3 = new Leaf("3");c0.add(leaf1);c0.add(c1);c1.add(leaf2);c1.add(leaf3);c0.operation();}
}
//抽象构件
interface Component {public void add(Component c);public void remove(Component c);public Component getChild(int i);public void operation();
}
//树叶构件
class Leaf implements Component {private String name;public Leaf(String name) {this.name = name;}public void add(Component c) {}public void remove(Component c) {}public Component getChild(int i) {return null;}public void operation() {System.out.println("树叶" + name + ":被访问!");}
}
//树枝构件
class Composite implements Component {private ArrayList<Component> children = new ArrayList<Component>();public void add(Component c) {children.add(c);}public void remove(Component c) {children.remove(c);}public Component getChild(int i) {return children.get(i);}public void operation() {for (Object obj : children) {((Component) obj).operation();}}
}
树叶1:被访问!
树叶2:被访问!
树叶3:被访问!

安全模式

interface Component {public void operation();
}
public class CompositePattern {public static void main(String[] args) {Composite c0 = new Composite();Composite c1 = new Composite();Component leaf1 = new Leaf("1");Component leaf2 = new Leaf("2");Component leaf3 = new Leaf("3");c0.add(leaf1);c0.add(c1);c1.add(leaf2);c1.add(leaf3);c0.operation();}
}

http://www.hkea.cn/news/302/

相关文章:

  • 深圳快速网站制作服务优化算法
  • 网站怎么放到服务器上全媒体运营师
  • 女生做网站运营上海外贸网站seo
  • ecshop模板济南seo整站优化招商电话
  • 网站 规划方案一个平台怎么推广
  • 黑龙江省新闻seo网站优化培
  • php做网站图集软文代发代理
  • 网站建设jnlongji网站seo优化价格
  • 服装网站搭建计划书google seo是什么
  • 自己做的网站邮箱更改密码程序为什么总出错网站关键词怎么写
  • wordpress如何防止ddosseo关键字排名优化
  • 怎么制作网页支付链接广州seo网站营销
  • 装修贷网络优化包括
  • 免费企业网站系统互联网广告代理商
  • 无锡建网站优化网站制作方法大全
  • 钓鱼网站怎么做防护教程广安网站seo
  • 大连做网站哪家好一点2024年新冠疫情最新消息
  • 有效的网络营销方式seo文章优化方法
  • 如何查网站的空间发布悬赏任务的推广平台
  • 番禺网站建设公司排名男生短期培训就业
  • wordpress 跳转插件六安seo
  • 品牌策划网站推荐大型网站seo课程
  • 利用业务时间做的网站与公司有关吗百度大搜
  • 贵阳网站建设公司排名网络营销的核心是用户吗
  • 网页制作与网站建设技术大全 pdf互联网推广的好处
  • 找做废薄膜网站网络广告投放平台
  • 沈阳网站制作思路app推广怎么做
  • 重庆建站费用厦门人才网app
  • 摄影网站设计实现步骤上海推广网络营销咨询热线
  • 怎么给网站做备案如何搭建一个网站平台