14、设计模式----组合模式

组合模式,将对象组合树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一直性。

当需求中是体现部分与整体层次的结构时,以及你希望用户可以忽略组合对象与单个对象的不同,统一的使用组合结构中的所有对象时,应该考虑使用组合模式。

组合模式定义了包含基本对象和组合对象的类层次结构。基本对象可以被组合成更复杂的组合对象,而这个组合对象又可以被组合,这样不断递归下去,客户代码中任何用到基本对象的地方都可以用到组合对象。

用户不用关心到底是处理一个叶节点还是一个组合组件,也就用不着为定义组合而写一些选择判断语句了。


Component 为组合中的对象声明接口,在适当情况下,实现所有类共有接口的默认行为。声明一个接口用于访问和管理Component的子部件。

Leaf在组合中表示叶节点对象,叶节点没有子节点。

Composite 定义有枝节点行为,用来存储子部件,在COmponent接口中实现与子部件有关的操作。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文是《设计模式——可复用面对对象软件的基础》的笔记。 面对对象设计的几个原则:1.针对接口编程,而不是针对实现编...
    Lension阅读 1,257评论 0 0
  • 1.初识组合模式 将对象组合成树形结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具...
    王侦阅读 1,088评论 0 2
  • javascript设计模式与开发实践 设计模式 每个设计模式我们需要从三点问题入手: 定义 作用 用法与实现 单...
    穿牛仔裤的蚊子阅读 4,296评论 0 13
  • 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设...
    于先笙阅读 526评论 1 3
  • 创建型模式 工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设...
    liuyang7519阅读 337评论 0 2