组合模式

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

组合模式(Composite Pattern)

目录

什么是组合模式

  组合模式是指将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。

组合模式的作用

  组合模式的目的是:让客户端不再区分操作的是组合对象还是叶子对象,而是以一个统一的方式来操作。实现这个目标的关键之处,是设计一个抽象的组件类,让它可以代表组合对象和叶子对象。这样一来,客户端就不用区分到底是组合对象还是叶子对象了,只需要全部当成组件对象进行统一的操作就可以了。

  1. 统一元素与部分整体,简化处理代码
  2. 将元素内部结构同处理程序解耦,从而一致的对待元素与部分整体。
  3. 实际上,组合模式在应用中其实非常广泛,像文件系统企业结构等都可以看做是组合模式的典型应用。
  4. Component:定义成接口或者抽象类,是元素与不部分整体的父类。
  5. Leaf:叶子节点,定义了基本元素的特征,继承自Component父类,是整体最基本的组成部分。
  6. Composite:部分整体或者容器,继承或实现自Component父类。内部包含Composite或者Leaf的聚合,用来保存内部的组织结构,并且针对该聚合有相应的操作方法。

组合模式的应用

  1. 在对象与部分整体之间,想要通过统一的方式对其进行处理,模糊处理其差异的时候可以选用组合模式。

  2. 当客户端忽视结构层次,无差异的看待元素与部分整体,不关心元素和部分整体之间的层次结构,想要实现对统一接口编程的时候。

  3. 对象的变化是动态,而客户端想要一致的处理对象的时候。

  4.组合模式意图是通过整体与局部之间的关系,通过树形结构的形式进行组织复杂对象,屏蔽对象内部的细节,对外展现统一的方式来操作对象,是我们处理更复杂对象的一个手段和方式。公司OA系统如何进行设计有关于此。   综上,在上述3种情况下可以考虑使用组合模式来设计系统程序。组合模式关键定义了一个抽象类或者接口,既可以代表元素又可以代表部分整体,而客户端是针对该接口进行编程。

相关条目

本条目对我有帮助0
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目

本条目由以下用户参与贡献

寒曦,苏青荇.

评论(共0条)

提示:评论内容为网友针对条目"组合模式"展开的讨论,与本站观点立场无关。

发表评论请文明上网,理性发言并遵守有关规定。

打开APP

以上内容根据网友推荐自动排序生成

闽公网安备 35020302032707号