《java与模式》-12 合成模式
来源:互联网 发布:mac开机密码 编辑:程序博客网 时间:2024/06/01 23:31
合成模式属于对象的结构模式;
使客户端将单纯元素与复合元素同等看待;
角色:抽象构件角色;树枝角色;树叶角色;
其中树枝角色可以有子节点,树叶角色不可以有子节点,如果根节点是树叶角色那么就变成了只有一个节点的树;
合成模式根据所实现的接口分为两种形式:安全式、透明式;
合成模式可以不提供父对象的管理方法,但是必须在合适的地方提供子对象的管理方法,如add(),remove(),getChild()等;
- 透明式:
在 Component 中声明管理子类对象的方法,如add(),remove(),getChild()等,好处是所有的构件都有相同的接口,在客户端看来树叶类与树枝类没有区别可以同等对待所有对象这就是透明的合成模式,缺点是不够安全,因为树叶类与树枝类本质上是有区别的,树叶类对象不可能有下一个层次的对象,add(),remove(),getChild()编译器不会报错,而在运行时才会报错; - 安全式:
在Composite里声明所有用来管理子类的方法,这是安全的做法,因为树叶类型的对象根本没有管理子类型的方法,这个选择的缺点是不透明,因为树叶类和树枝类将有不同的接口;
这两种形式各有优缺点,根据实际情况使用;
阅读全文
0 0
- 《java与模式》-12 合成模式
- Java与模式:合成模式
- Java与模式 合成模式Composite
- 《JAVA与模式》之合成模式
- 《JAVA与模式》之合成模式
- 《JAVA与模式》之合成模式
- 《JAVA与模式》之合成模式
- 《JAVA与模式》之合成模式
- 《JAVA与模式》之合成模式
- 《JAVA与模式》之合成模式
- 策略模式与合成模式
- java设计模式---合成模式
- Java设计模式-合成模式
- Java设计模式--合成模式
- JAVA与模式学习笔记之合成模式
- 《java与模式》学习系列——合成模式
- 《Java与模式》学习笔记:设计模式——树结构(合成模式+模板模式)
- 《java与模式》笔记(六) 合成/聚合复用原则
- JQuery以JSON方式提交数据到服务端
- 最小生成树+dfs
- 学会DOM操作
- Java开发岗位面试题归类汇总(一)
- 如何高速下载百度云资源
- 《java与模式》-12 合成模式
- POJ 3449 Geometric Shapes <几何(简单相交判断)>
- 二、Android安全机制之系统防线
- hadopp 环境搭建
- 求绝对值最大值
- gulp+webpack
- java中的try catch finally return的执行顺序问题总结
- python实现二叉树和它的七种遍历
- 算法与数据结构——算法题32:整数集合的交集(腾讯笔试) ? 待解决