代理模式

代理模式

  • 代理模式就是,我们需要做某件事情,我们不去做找个代理人去做,比如去银行,办理开卡,我们不会去做,找银行柜台去做。

我们创建一个公共的接口

public interface Sourceable {
    public void method();
}

我们真正去做事的类

public class Source implements Sourceable {

    @Override
    public void method() {
        System.out.println("the original method!");
    }
}

代理类

public class Proxy implements Sourceable {

    private Source source;
    构造函数里面进行创建真正执行的对象的实例
    public Proxy(){
        super();
        this.source = new Source();
    }
    @Override
    public void method() {
        before();
        调用执行的方法的对象
        source.method();
        atfer();
    }
    private void atfer() {
        System.out.println("after proxy!");
    }
    private void before() {
        System.out.println("before proxy!");
    }
}

测试代码

public class ProxyTest {

    public static void main(String[] args) {
        Sourceable source = new Proxy();
        source.method();
    }

}

代理模式的应用场景:
如果已有的方法在使用的时候需要对原有的方法进行改进,此时有两种办法:
1、修改原有的方法来适应。这样违反了“对扩展开放,对修改关闭”的原则。
2、就是采用一个代理类调用原有的方法,且对产生的结果进行控制。这种方法就是代理模式。
使用代理模式,可以将功能划分的更加清晰,有助于后期维护!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 版权声明:本文为博主原创文章,未经博主允许不得转载 PS:转载请注明出处作者: TigerChain地址: htt...
    TigerChain阅读 1,737评论 0 2
  • 1 场景问题# 1.1 访问多条数据## 考虑这样一个实际应用:要一次性访问多条数据。 这个功能的背景是这样的;在...
    七寸知架构阅读 3,024评论 1 52
  • 菜鸟版JAVA设计模式—适配器模式,装饰模式,代理模式异同 一、概念 适配器模式,允许因为接口不兼容而不能在一起工...
    合肥黑阅读 8,143评论 3 14
  • 黑白照片上 一幅幅朝气的面孔 英气的,甜美的,迷茫的 似曾相识 就像现在的你我 闹市街道上 一幅幅新鲜的面孔 欢笑...
    呈祥文森特阅读 302评论 0 0
  • 目录 前篇 住院后,拉上围帘,一个人呆坐在床沿陷入沉思,已经成为了我的一种爱好,一种能够给予我强烈幸福感的爱好。深...
    北雫阅读 269评论 0 2