[关闭]
@songying 2018-08-22T21:12:24.000000Z 字数 1179 阅读 973

桥梁模式

设计模式


定义

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

四个角色

抽象化角色

  1. public abstract class Abstraction{
  2. // 定义对实现化角色的引用
  3. private Implementor imp;
  4. // 约束子类必须实现该构造函数
  5. public Abstraction(Implementor _imp){
  6. this.imp = _imp;
  7. }
  8. // 自身的定义和属性
  9. public void request(){
  10. this.imp.doSomething();
  11. }
  12. // 获得实现化角色
  13. public IMplementor getImp(){
  14. return imp;
  15. }

实现化角色

  1. public inferface Implementor{
  2. public void doSomething();
  3. public void doAnything();

具体抽象角色

  1. public class RefinedAbstraction extends Abstraction{
  2. public RefinedAbstraction(Implementor _imp){
  3. super(_imp)
  4. }
  5. @Override
  6. public void request(){
  7. super.request();
  8. super.getImp().doAnything();
  9. }
  10. }

具体实现化角色

  1. public class ConcreteImplementor1 implements Implementor{
  2. public void doSomething(){
  3. // 业务逻辑处理
  4. }
  5. public void doAnything(){
  6. //业务逻辑处理
  7. }

具体抽象化角色

  1. public class RefinedAbstraction extends {
  2. // 覆写构造函数
  3. public RefinedAbstraction(Implementor _imp){
  4. super(_imp)
  5. }
  6. @Override
  7. public void request(){
  8. // 业务处理
  9. super.request();
  10. super.getImp().doAnything();
  11. }
  12. }

场景类

  1. public class CLient{
  2. public static void main(String[] args){
  3. Implenmentor imp = new ConcreteImplementor1();
  4. Abstraction abs = new RefinedAbstraction(imp);
  5. abs.request();
  6. }
  7. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注