《大话设计模式》—— 读后感(22)手机软件何时统一——桥接模式
来源:互联网 发布:淘宝云客服报名关闭 编辑:程序博客网 时间:2024/05/21 12:08
合成/聚合复用原则
尽量使用合成/聚合,尽量不要使用类继承。(摘抄)
其实合成/聚合复用原则,平时都会使用,但是自己总结可能有点总结不出来。这个原则用我的理解就是抽象与抽象之间划分必须明确,尽量不要让一个抽象去继承与另一个抽象,要让一个抽象去调用另一个抽象。
继承的使用必须要十分谨慎,因为使用继承之后,父类发生改变,必然会影响到子类。继承使用时必须要确定当前类和父类是有非常紧密的关系,不然会对当前类的复用产生很大的影响。要从当前类的职责来考虑问题。
聚合表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;合成则是一种强的“拥有”关系,体现了严格的部分和整体的关系,部分和整体的生命周一样。(摘抄)
合成/聚合复用原则的好处是,优先使用对象的合成/聚合将有助于你保持每个类被封装,并集中在单个任务上。这样类和类继承层次会保持较小规模,并且不太可能增长为不可控制的庞然大物。(摘抄)
桥接模式
将抽象部分与它的实现部分分离,使它们都可以独立地变化。(摘抄)
这句话地意思应该是把它的每个功能和功能之间都分开。然后这些功能和整个物体的抽象也分开。
这个功能的说法并不是一定代表一个具体的功能,它是这个系统的某一个实现,暂且把实现就当成实现一个功能
//功能接口public interface Implementor{void Operation();}//功能的实现A&Bpublic class ConcreteImplA implements Implementor{@Overridepublic void Operation() {// TODO Auto-generated method stubSystem.out.println("A");}}public class ConcreteImplB implements Implementor{@Overridepublic void Operation() {// TODO Auto-generated method stubSystem.out.println("B");}}//整个物体的抽象public class Abstract{public Implementor implementor;public void setImplementor(Implementor implementor) {this.implementor = implementor;}public void Operation(){implementor.Operation();}}//某个子物体public class RefinedAbstract extends Abstract{@Overridepublic void Operation(){//可以添加特有的一些操作implementor.Operation();}}class Client{public static void main(){Abstract ab = new RefinedAbstract();ab.setImplementor(new ConcreteImplA());ab.Operation();ab.setImplementor(new ConcreteImplB());ab.Operation();}}
实现系统啃呢个有多种角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让它们独立变化,减少它们之间的耦合。(摘抄)—— 感觉这句话总结得很精辟。
0 0
- 《大话设计模式》—— 读后感(22)手机软件何时统一——桥接模式
- 【结构型模式】《大话设计模式》——读后感 (13)手机软件何时能统一?——桥接模式
- 桥接设计模式-手机软件何时统一-大话设计模式
- 《大话设计模式》--手机软件何时统一--桥接模式<Bridge>(22)
- 大话设计模式--第22章 手机软件何时统一--桥接模式
- 大话设计模式二十二:桥接模式(手机软件何时统一)
- 设计模式:22 手机软件何时统一_桥接模式
- 《大话设计模式》—— 读后感(16)无尽加班何时休息——状态模式
- 《大话设计模式》——读后感 (10)无尽加班何时休?——状态模式
- 【设计模式】手机软件何时统一 ---- 桥接模式
- 《大话设计模式》 —— 读后感 (11)迪米特法则
- 第二十二章 手机软件何时统一--桥接模式(读书笔记)
- 《大话设计模式》—— 读后感(19)分公司=部门——组合设计模式
- 《大话设计模式》——读后感 (3)&(4)&(5) 设计模式原则
- 大话设计模式—桥接模式
- 《大话设计模式》——读后感 (2)商场促销——策略模式
- 《大话设计模式》—— 读后感 (7)为别人做嫁衣——代理模式
- 《大话设计模式》—— 读后感 (9)简历复印——原型模式
- 三星集团总裁李健熙:72岁老者的争议人生
- Derby数据库的安装配置及使用
- C++头文件一览表
- 友元函数实现复数中的运算符重载
- 菜鸟记录学习java的点点滴滴
- 《大话设计模式》—— 读后感(22)手机软件何时统一——桥接模式
- div中class和id有什么区别?
- 为什么书呆子不受欢迎
- 每日算法之十:Container With Most Water
- INSERT语法使用技巧一例
- NOJ [1527] 你的狗尾巴草呢
- ASP.Net+XML打造留言薄
- Ibatis的增删改查操作
- 纯ASP上传图像文件到数据库的最佳例子