桥接模式,怎么个桥接法,它还有别名,你知道吗?

桥接模式,和桥有关吗?怎么个接法?

桥接模式(bridge pattern),用于把抽象化和实现化解耦,使得二者可以独立变化;又称柄体(Handle and Body pattern)模式或接口(Interfce pattern)模式。

桥接模式,怎么个桥接法,它还有别名,你知道吗?

业务场景:一个对象可能有多个角度,每个角度都会产生变化,可以将多个角度分离出来,减少它们自己的耦合,适应变化。

1.形状的抽象类;

/**
 * 1.形状的抽象类
 * @author 程就人生
 * @Date
 */
public abstract class AbstractShape {
  
    IColor color;
    
  protected void setColor(IColor color){
    this.color = color;
  }
  
  public abstract void draw();
}

关键代码出现:抽象类依赖实现类

2.颜色的接口;

/**
 * 2.颜色接口
 * @author 程就人生
 * @Date
 */
public interface IColor {

  public void fill(String shape);
}

3.形状抽象类的一个或多个实现类,这里只写一个;

/**
 * 3.形状的实现类
 * @author 程就人生
 * @Date
 */
public class Circle extends AbstractShape{

  @Override
  public void draw() {
    color.fill("circle");
  }
}

4.颜色接口的一个或多个实现类,这里只写一个;

/**
 * 4.颜色的实现类
 * @author 程就人生
 * @Date
 */
public class Red implements IColor {

  @Override
  public void fill(String shape) {
    System.out.println("red " + shape);
  }
}

5.简单应用;

public static void main(String[] argo){
    AbstractShape shape = new Circle();
    shape.setColor(new Red());
    shape.draw();
  }

这段代码的意思是:通过形状的抽象类,绘制一个红色的圆形。在形状的抽象类里,对颜色的接口进行了依赖。在实例化形状后,即可设置颜色的实例化,从来达到了绘制红色圆形的目的。

测试结果:

red circle

关注同名公众号,获取更多信息~!

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容