java设计模式笔记

设计模式十--桥梁模式

2018-11-08  本文已影响7人  朽木亦自雕

定义

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

角色

1:抽象化角色(Abstraction)
该角色抽象化给出的定义,并保存一个队实现化对象的引用

public abstract class Abstraction{
  private Implementor imp;
  public Abstraction(Implementor imp){
    this.imp = imp;
  }
  public void operation(){
    this.imp.operationImp();
  }
}

2:实现化角色(Implementor)
该角色给出实现化角色的接口,但不给出具体的实现

public interface Implementor{
  //方法的实现化声明
  public void operationImp();
}

3:修正抽象化角色(RefinedAbstraction)
该角色扩展抽象化角色,它引用实现化角色并对抽象化角色进行修正

public class RefinedAbstraction extends Abstraction{
  public RefinedAbstraction (Implementor imp){
    super(imp);
  }
  @Override
  public void operation(){
     //doing something 修正的业务代码
  }
}

4:具体实现化(ConcreteImplementor)
该角色对实现化角色接口中的方法进行具体实现。

public class ConcreteImplementor implements Implementor{
  @Override
  public void operationImp(){
    //doing something 业务处理
  }
}

调用示例

public class client{
  public static void main(String [] args){
    Implementor implementor = new ConcreteImplementor();
    Abstraction abstraction = new RefinedAbsraction(implementor);
    abstraction.operation();
  }
}

优点

1:可以解决继承的缺点
2:实现对客户透明
3:提高灵活性和扩展性

参考资料:设计模式之禅(二)

上一篇 下一篇

猜你喜欢

热点阅读