纵有疾风起
人生不言弃

设计模式十–桥梁模式

定义

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

角色

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:提高灵活性和扩展性

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

文章转载于:https://www.jianshu.com/p/b77336075503

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 设计模式十–桥梁模式
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录