码迷,mamicode.com
首页 > 其他好文 > 详细

理解设计模式(组合)

时间:2015-11-21 22:35:13      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

  组合模式,保证系统中相同类的组合对象和单一对象是一致的。

特定环境

若干对象树形架构,具有**整体——部分”层次结构

其中,操作任意若干对象的组合结构,如同操作单个对象

一类问题

整理和部分如何被一致的对待

解决方案

组合模式有3个角色:

  • 组件接口 Component :
    规范类行为,一般增删叶节点或组合节点,由接口或抽象类实现

  • 叶节点 Leaf :
    增删对该角色无效,实现Componet, 一般有具体子类实现

  • 组合节点 Composite :
    封装叶节点引用集,实现增删逻辑,实现Componet, 一般由具体子类实现

实例场景

文件系统,文件夹和文件的增删操作逻辑相同

公司人事架构,工资的发放等逻辑相同

等等

优劣

优点:

  • 一致地对待单个和组合对象,简化操作

  • 组合对象内随意增加对象,且不用修改源代码

缺点:

  • 不易统一处理单个或组合对象特有的业务逻辑

参考

Java组合模式, 作者 : Fred

Java设计模式之组合模式(Composite), 作者 : edison_cool911

理解设计模式(组合)

标签:

原文地址:http://www.cnblogs.com/CoolSoul/p/4984823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!