简易的设计模式——桥梁模式

定义

将抽象和实现解耦,使得两者可以独立地变化。

桥梁模式

4个角色

在抽象模式中有4个不同的角色。

  1. 抽象化角色 Abstracttion
  2. 实现化角色 Implementator
  3. 修正抽象化 RefinedAbstraction
  4. 具体实现化角色 ConcreteImplementator

抽象角色引用实现化角色

代码实现

Abstracttion.java

public abstract class Abstracttion {

    private Implementator implementator;

    public Abstracttion(Implementator implementator ){
        this.implementator = implementator;
    }

    public void request(){
        this.implementator.doSomething();
    }

    public Implementator getImp(){
        return this.implementator;
    }

}

RefinedAbstraction.java

public class RefinedAbstraction extends Abstracttion {

    public RefinedAbstraction(Implementator implementator) {
        super(implementator);
    }

    @Override
    public void request() {
        super.request();
        super.getImp().doAnything();
    }
}


Implementator.java

public interface Implementator {
    //basic method
    public void doSomething();
    public void doAnything();
}

ConcreteImplementator1.java

public class ConcreteImplementator1 implements Implementator {
    @Override
    public void doSomething() {
        //实现业务
    }

    @Override
    public void doAnything() {
        //实现业务
    }
}

ConcreteImplementator2.java

public class ConcreteImplementator2 implements Implementator{
    @Override
    public void doSomething() {
        //实现业务
    }

    @Override
    public void doAnything() {
        //实现业务
    }
}

桥梁模式的优点

  • 抽象和实现分离:

    实现可以不受抽象的约束,不用被绑定在一个固定的抽象层次上面。

  • 优秀的扩展能力:

    想要增加也没有问题

  • 实现细节对客户透明:

    客户不用关心细节实现,它已经由抽象层通过聚合关系完成了封装。

posted @ 2015-04-12 22:26  whthomas  阅读(210)  评论(0编辑  收藏  举报