桥梁模式Bridge Pattern

xiaoxiao2021-02-28  28

桥接模式,将实现类和接口类拆分开来,不使用继承,接口类(抽象类) 持有一个桥接类的引用,根据传入的桥接实现类引用。这样在改变桥接类的情况下就可以改变抽象类的运行结果。

名词类:

抽象部分:

public abstract class Circle { protected Draw draw; protected Circle(Draw draw){ this.draw = draw; } protected abstract void drawCircle(); }

实现类:

public class CircleImpl extends Circle { private int x; private int y; private String desc; public CircleImpl(Draw draw, int x, int y, String desc) { super(draw); this.x = x; this.y = y; this.desc = desc; } @Override protected void drawCircle() { draw.draw(); } }

行为类:

接口:

public interface Draw { void draw(); }

实现类1:

public class RedDrawImpl implements Draw{ @Override public void draw() { System.out.println("red circle"); } }

实现类2:

public class GreenDrawImpl implements Draw{ @Override public void draw() { System.out.println("green circle"); } }

桥梁模式本质上就是以组合的方式来替代继承,解耦代码,使得其能灵活的更换实现逻辑。

转载请注明原文地址: https://www.6miu.com/read-2623995.html

最新回复(0)