博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《设计模式系列》---桥接模式
阅读量:5704 次
发布时间:2019-06-17

本文共 1694 字,大约阅读时间需要 5 分钟。

hot3.png

 桥接模式,

    将抽象部分与它的实现部分分离,使它们都可以独立地变化。   实现系统可以有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让他们独立变化,减少他们之间的耦合。

/** * @author stefanie zhao * @date 2014-8-21 下午03:02:37 */public abstract class Implementor {    public abstract void operation();}
/** * @author stefanie zhao * @date 2014-8-21 下午03:03:23 */public class ConcreteImplementorA extends Implementor {    /*     * (non-Javadoc)     *      * @see us.echo.pattern.bridge.Implementor#operation()     */    @Override    public void operation() {        System.out.println("A的方法执行");    }}
/** * @author stefanie zhao * @date 2014-8-21 下午03:03:23 */public class ConcreteImplementorB extends Implementor {    /*     * (non-Javadoc)     *      * @see us.echo.pattern.bridge.Implementor#operation()     */    @Override    public void operation() {        System.out.println("B的方法执行");    }}
/** * @author stefanie zhao * @date 2014-8-21 下午03:04:21 */public class Abstraction {    protected Implementor implementor;    public void setImplementor(Implementor im) {        this.implementor = im;    }    public void operation() {        implementor.operation();    }}
/** * @author stefanie zhao * @date 2014-8-21 下午03:06:07 */public class RefinedAbstraction extends Abstraction {    public void operation() {        implementor.operation();    }}
public class Main {    /**     * @Description: TODO     * @param @param args     * @return void     * @throws     */    public static void main(String[] args) {        Abstraction ab = new RefinedAbstraction();        ab.setImplementor(new ConcreteImplementorA());        ab.operation();        ab.setImplementor(new ConcreteImplementorB());        ab.operation();    }}

转载于:https://my.oschina.net/stefanzhlg/blog/308114

你可能感兴趣的文章
Aho-Corasick automation-KMP
查看>>
【http】post和get请求的区别
查看>>
/etc/profile
查看>>
摘记总结(1)
查看>>
TFS强制撤销某个工作区的文件签出记录
查看>>
编写who命令
查看>>
2.1 sikuli 中编程运行
查看>>
愚公移山第一章伪代码
查看>>
常见的位运算技巧总结(膜wys)
查看>>
python魔法函数(二)之__getitem__、__len__、__iter__
查看>>
EL表达式无法显示Model中的数据
查看>>
Linux应用小技巧
查看>>
考题纠错2
查看>>
ps6-工具的基础使用
查看>>
关于CefSharp.WinForms的学习
查看>>
灵活运用 SQL SERVER FOR XML PATH
查看>>
es 加磁盘扩容
查看>>
linux 参数内核
查看>>
使用Azcopy在Azure上进行HBase的冷热备份还原
查看>>
计组_定点数一位乘_布斯公式
查看>>