码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-桥接模式

时间:2020-04-27 11:38:37      阅读:49      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!