大话设计模式之桥接模式
2013-08-13 16:13
246 查看
合成/聚合复用原则,尽量使用合成/聚合,尽量不要使用类继承。聚合表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分;合成则是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。大雁和翅膀是合成,大雁和雁群是聚合。
优先使用对象的合成/聚合将有助于保持每个类被封装,并被集中在单个任务上。这样类和类继承层次会保持较小规模,并且不太可能增长为不可控制的庞然大物。
桥接模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。抽象类和它的派生类用来实现自己的对象
优先使用对象的合成/聚合将有助于保持每个类被封装,并被集中在单个任务上。这样类和类继承层次会保持较小规模,并且不太可能增长为不可控制的庞然大物。
桥接模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。抽象类和它的派生类用来实现自己的对象
package Bridge; public class MainClass { public static void main(String[] args) { // TODO Auto-generated method stub Abstraction ab = new RefinedAbstraction(); ab.setImplementor(new ConcreteImplementorA()); ab.Operation(); ab.setImplementor(new ConcreteImplementorB()); ab.Operation(); } } abstract class Implementor { public abstract void Operation(); } class ConcreteImplementorA extends Implementor { @Override public void Operation() { // TODO Auto-generated method stub System.out.println("具体实现A的方法执行"); } } class ConcreteImplementorB extends Implementor { @Override public void Operation() { // TODO Auto-generated method stub System.out.println("具体实现B的方法执行"); } } class Abstraction { protected Implementor implementor; public void setImplementor(Implementor implementor) { this.implementor = implementor; } protected void Operation() { implementor.Operation(); } } class RefinedAbstraction extends Abstraction { @Override protected void Operation() { // TODO Auto-generated method stub implementor.Operation(); } }简言之有两种类型的抽象类,一个持有另外一个对象,这样可以对这两个抽象类的实例进行组合
相关文章推荐
- 大话设计模式--桥接模式
- 大话设计模式(四) 组合模式 迭代模式 单列模式 桥接模式 命令模式 职责链模式
- 大话设计模式之桥接模式
- 大话设计模式-----(九)桥接模式、命令模式
- 八、结构型模式之适配器、桥接、代理-----《大话设计模式》
- 大话设计模式_桥接模式c++实现
- Mind-manager之大话设计模式 22章桥接模式
- 大话设计模式二十二:桥接模式(手机软件何时统一)
- 大话设计模式--第22章 手机软件何时统一--桥接模式
- 大话设计模式_桥接模式
- 大话设计模式9 单例模式 桥接模式
- 大话设计模式 桥接模式
- 《大话设计模式》java实现之桥接模式
- 大话设计模式之桥接模式与合成/聚合复用原则
- 《大话设计模式》学习笔记18:桥接模式
- 大话设计模式-桥接模式
- 桥接模式 -- 大话设计模式
- 《大话设计模式》-- 第22个 桥接模式
- 《大话设计模式》--手机软件何时统一--桥接模式<Bridge>(22)