桥接模式

桥接模式

  • 把事物与具体的实现分开,就是进行解耦

定义一个接口

public interface Sourceable {
    public void method();
}

实现类1

public class SourceSub1 implements Sourceable {

    @Override
    public void method() {
        System.out.println("this is the first sub!");
    }
}

实现类2

public class SourceSub2 implements Sourceable {

    @Override
    public void method() {
        System.out.println("this is the second sub!");
    }
}

桥接类

在这个桥接类里面进行,其他两个对象封装,实现调用
public abstract class Bridge {
    private Sourceable source;

    public void method(){
        source.method();
    }

    public Sourceable getSource() {
        return source;
    }

    public void setSource(Sourceable source) {
        this.source = source;
    }
}

调用类

public class MyBridge extends Bridge {
    public void method(){
        getSource().method();
    }
}

测试类

public class BridgeTest {

    public static void main(String[] args) {

        Bridge bridge = new MyBridge();

        /*调用第一个对象*/
        Sourceable source1 = new SourceSub1();
        bridge.setSource(source1);
        bridge.method();

        /*调用第二个对象*/
        Sourceable source2 = new SourceSub2();
        bridge.setSource(source2);
        bridge.method();
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1 场景问题# 1.1 发送提示消息## 考虑这样一个实际的业务功能:发送提示消息。基本上所有带业务流程处理的系统...
    七寸知架构阅读 10,520评论 5 63
  • 在正式介绍桥接模式之前,我先跟大家谈谈两种常见文具的区别,它们是毛笔和蜡笔。假如我们需要大中小3种型号的画笔,能够...
    justCode_阅读 5,747评论 0 7
  • 目录 本文的结构如下: 引言 什么是桥接模式 模式的结构 典型代码 代码示例 优点和缺点 适用环境 模式应用 一、...
    w1992wishes阅读 5,719评论 0 6
  • 本文参考:http://www.oschina.net/question/1436074_140456 http:...
    端木轩阅读 8,940评论 0 5
  • 由于实际的需要,某个类具有两个或两个以上的维度变化,如果利用继承将每种可能的变化情况都定义成一个类,一是会导致类膨...
    时待吾阅读 3,831评论 0 0

友情链接更多精彩内容