java23种设计模式四(连载)
2012-11-18 12:56
489 查看
四、桥接模式
桥接模式关注抽象的设计,顾名思义,你可以创建一个桥,然后把这些抽象方法移到接口中。这样,抽象就将依赖于接口的实现。
桥接模式的意图是将抽象与抽象方法的实现相互分离来实现解耦,以便二者可以相互独立的变化。
桥接模式的好处:优先使用对象的合成/聚合将有助于你保持每个类被封装,并被集中在单个任务上,这样类和类继承层次会保持较小规模,并且不大可能增长为不可控制的庞然大物。
下面是示例代码:
桥接模式关注抽象的设计,顾名思义,你可以创建一个桥,然后把这些抽象方法移到接口中。这样,抽象就将依赖于接口的实现。
桥接模式的意图是将抽象与抽象方法的实现相互分离来实现解耦,以便二者可以相互独立的变化。
桥接模式的好处:优先使用对象的合成/聚合将有助于你保持每个类被封装,并被集中在单个任务上,这样类和类继承层次会保持较小规模,并且不大可能增长为不可控制的庞然大物。
下面是示例代码:
/** * 手机软件 * @author ripper * */ public abstract class HandsetSoft { public abstract void run(); }
/** * 手机游戏 * @author ripper * */ public class HandsetGame extends HandsetSoft { @Override public void run() { System.out.println("运行手机游戏"); } }
public class HandsetAddressList extends HandsetSoft { @Override public void run() { System.out.println("运行手机通讯录!"); } }
/** * 手机品牌 * @author ripper * */ public abstract class HandsetBrand { public abstract void run(); protected HandsetSoft soft; public HandsetBrand(HandsetSoft soft){ this.soft = soft; } public HandsetBrand() { } public void setSoft(HandsetSoft soft) { this.soft = soft; } public HandsetSoft getSoft() { return soft; } }
/** * 手机品牌M * @author ripper * */ public class HandsetBrandM extends HandsetBrand { public HandsetBrandM(){ System.out.println("M型手机"); } @Override public void run() { soft.run(); } }
/** * 手机品牌N * @author ripper * */ public class HandsetBrandN extends HandsetBrand { public HandsetBrandN(){ System.out.println("N型手机"); } @Override public void run() { soft.run(); } }
相关文章推荐
- java23种设计模式十二(连载)
- java23种设计模式二(连载)
- java23种设计模式五(连载)
- java23种设计模式十一(连载)
- java23种设计模式六(连载)
- java23种设计模式三(连载)
- java23种设计模式十三(连载)
- java23种设计模式十四(连载)
- java23种设计模式十(连载)
- java23种设计模式一(连载)
- java23种设计模式九(连载)
- java23种设计模式七(连载)
- java23种设计模式八(连载)
- Java开发中的23种设计模式详解
- 快速掌握Java23种设计模式
- java设计模式连载(1)---工厂方法模式
- java23种设计模式之适配器模式(Adapter)
- JAVA23种设计模式
- Java开发中的23种设计模式详解
- 23种JAVA设计模式(3)-结构模式