设计模式十--桥梁模式

定义

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

角色

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在阎宏博士的《JAVA与模式》一书中开头是这样描述桥梁(Bridge)模式的:桥梁模式是对象的结构模式。又称为柄体...
    聂叼叼阅读 645评论 0 0
  • 定义 桥梁模式是对象的结构模式。又称为柄体(Handle and Body)模式或接口(Interface)模式。...
    步积阅读 6,791评论 0 10
  • 设计模式概述 在学习面向对象七大设计原则时需要注意以下几点:a) 高内聚、低耦合和单一职能的“冲突”实际上,这两者...
    彦帧阅读 3,786评论 0 14
  • 我清晰自己想要的是什么吗?不过是遵从本心了!不用对错去评价自己的行为,只是自己认真对待就很好。心在哪里,能量就在哪...
    空心1217阅读 362评论 0 1
  • 感恩给孩子请半天假,要带她去医院检查,孩子可以睡到自然醒。感恩医院的老医生耐心细致地为女儿检查,但听到医生...
    柳絮飞扬_2d97阅读 109评论 0 2