设计模式之组合模式
来源:互联网 发布:大数据 oop 编辑:程序博客网 时间:2024/05/17 03:19
组合模式
组合模式是结构型对象模式的一个实例,它描述了如何构造一个类层次式结构,这一结构由两种类型的对象(基元对象和组合对象)所对应的类构成,其中的组合对象使得你可以组合基元对象以及其他的组合对象,从而形成任意复杂的结构。
定义
将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户单个对象和组合对象的使用具有一致性。
使用场景
你想表示对象的部分-整体层次结构
你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。
结构
实现
public abstract class Component { public abstract void operation(); public abstract void add(Component component); public abstract void remove(Component component); public abstract Component getChild(int index);}public class Composite extends Component{ private List<Component> children = new ArrayList<Component>(); @Override public void operation() { System.out.println("Composite's operation"); } @Override public void add(Component component) { children.add(component); } @Override public void remove(Component component) { children.remove(component); } @Override public Component getChild(int index) { return children.get(index); }}public class Leaf extends Component{ @Override public void operation() { System.out.println("Leaf's operation"); } @Override public void add(Component component) { System.out.println("Can not add to a leaf"); } @Override public void remove(Component component) { System.out.println("Can not remove from a leaf"); } @Override public Component getChild(int index) { return null; }}
组合模式常用于树形结构比如文件系统,二叉树,目录之类的,能够简化客户代码,而且能够很容易地添加新类型的组件
0 0
- 设计模式之组合模式
- 设计模式之组合模式
- 设计模式之组合模式
- 设计模式之--组合模式
- 设计模式之组合模式
- 设计模式之组合模式
- 设计模式之组合模式
- 设计模式之组合模式
- 设计模式之---组合模式
- 设计模式之组合模式
- 设计模式之组合模式
- 设计模式之-------------组合模式
- 设计模式之组合模式
- 设计模式之组合模式
- 设计模式之组合模式
- 设计模式 之 组合模式
- 设计模式之组合模式
- 设计模式之组合模式
- android 当ListView滚动时自动调用 onCheckedChanged 导致CheckBox 状态不停变化
- 建议105:使用私有构造函数强化单例
- 2016年9月10日雅思写作预测 你准备好了么
- dedecms + linux + nginx目录权限配置
- JAVA 使用eclipse导入jar包的两种方法
- 设计模式之组合模式
- Android开发艺术探索--第二章IPC机制(2)之Binder
- iOS开发规范学习总结与框架搭建
- Spring整合- mongodb
- 判断应用是否在后台或者正在运行
- fmt-时间
- webview
- 当我们谈Android编译系统的时候,我们在干吗?
- 部署hadoop后,datanode无法连接namenode