标签:interface 实现 static 设计模式 bsp 更改 ctr 复杂度 多层
有点难理解,主要有4个角色 抽象调用 具体调用 抽象实现 具体实现。大概的意思就是抽象调用调用抽象实现。由具体调用和具体实现来拓展功能
抽象实现
public interface Implemter { void implemt(); }
具体实现
public class ImplemterImpl implements Implemter { @Override public void implemt() { System.out.println("具体实现的操作"); } }
抽象调用
abstract class AbstractRequester { protected Implemter imp; public AbstractRequester(Implemter implemter) { this.imp = implemter; } public abstract void request(); }
具体调用
public class AbstractRequestImpl extends AbstractRequester { public AbstractRequestImpl(Implemter imp) { super(imp); } @Override public void request() { imp.implemt(); } }
测试类
public class Client { public static void main(String[] args) { ImplemterImpl implemter = new ImplemterImpl(); AbstractRequestImpl abstractRequest = new AbstractRequestImpl(implemter); abstractRequest.request(); } }
总结:在桥接模式里,调用类关联实现类对象,抽象调用和抽象实现抽象出方法,由具体调用调用具体实现来实现拓展,哪怕以后功能进行拓展也无需更改抽象类,只需继承/实现来重写超类中的方法。
应用场景:当一个类里有两个独立拓展时,或者不希望因为多层次继承来增加项目的复杂度时,可以使用桥接者模式,调用类和实现类各有一个超类,重写方法即可完成修改。
标签:interface 实现 static 设计模式 bsp 更改 ctr 复杂度 多层
原文地址:https://www.cnblogs.com/Vinlen/p/12785379.html