桥接模式-Bridge Pattern
来源:互联网 发布:java getberlength 编辑:程序博客网 时间:2024/05/16 10:50
基本概念
桥接模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。这里的抽象与实现分离是指抽象类和它的派生类用来实现自己的对象。
结构图
上图摘自《大话设计模式》
应用场景
实现系统如果可能有多角度分类,每一种分类都有可能变化,那么就把多角度分离出来让他们独立变化,减少他们之间的耦合。因为这种情况下如果只用继承,会造成大量的类增加,不能满足开放-封闭原则,因此需要考虑桥接模式。
源码示例
1.先定义一个接口
package com.spook.bridge;/** * 接口 */public interface Implementor {public void operation();}
2.接口的实现类A
package com.spook.bridge;/** * 实现类A */public class ConcreteImplementorA implements Implementor {@Overridepublic void operation() {// TODO Auto-generated method stubSystem.out.println("具体实现类A执行operation方法");}}3.接口的实现类B
package com.spook.bridge;/** * 实现类B */public class ConcreteImplementorB implements Implementor {@Overridepublic void operation() {// TODO Auto-generated method stubSystem.out.println("具体实现类B执行operation方法");}}4.定义一个抽象类
package com.spook.bridge;/** * 抽象类 */public abstract class Abstraction {protected Implementor implementor;public Abstraction(Implementor implementor) {this.implementor = implementor;}public abstract void operation();}5.抽象类的实现类
package com.spook.bridge;/** * 抽象类的一个实现类 */public class RefinedAbstraction extends Abstraction {public RefinedAbstraction(Implementor implementor) {super(implementor);}@Overridepublic void operation() {// TODO Auto-generated method stubimplementor.operation();}}6.测试类
package com.spook.bridge;/** * 测试类 */public class Test {public static void main(String[] args) {// TODO Auto-generated method stubAbstraction ab = new RefinedAbstraction(new ConcreteImplementorA());ab.operation();ab = new RefinedAbstraction(new ConcreteImplementorB());ab.operation();}}运行测试类输出如下内容:
具体实现类A执行operation方法具体实现类B执行operation方法
0 0
- 桥接模式(Bridge Pattern)
- 桥接模式(Bridge Pattern)
- 桥接模式(Bridge Pattern)
- 桥接模式(Bridge Pattern)
- 桥接模式(Bridge Pattern)
- 桥接模式(Bridge Pattern)
- 桥接模式 Bridge Pattern
- 桥接模式(Bridge Pattern)
- 桥接模式 Bridge Pattern
- 桥接模式( Bridge Pattern)
- 桥接模式(Bridge Pattern)
- 桥接模式(Bridge Pattern)
- bridge pattern -- 桥接模式
- 桥接模式(Bridge Pattern)
- 桥接模式(Bridge Pattern)
- 桥接模式-Bridge Pattern
- bridge pattern(桥接模式)
- Bridge Pattern(桥接模式)
- HDOJ 3639.Hawk-and-Chicken(Tarjan强连通分量+缩点)
- Android程序员必读电子书推荐
- HDU - 2838 Cow Sorting (树状数组 + 逆序对)
- Git SSH Key 生成步骤
- 日志记录的作用和方法
- 桥接模式-Bridge Pattern
- 深究递归和迭代的区别、联系、优缺点及实例对比
- 相机标定
- LCS-基础
- 自定义ViewGroup控件(二)----->流式布局进阶(二)
- Java调用系统默认程序打开本地文件
- C++中对字符操作的函数集锦
- edgesForExtendedLayout
- 【VR】Leap Motion 官网文档 ToolModel (工具模型)