美文网首页
代理模式-Proxy

代理模式-Proxy

作者: Josaber | 来源:发表于2016-12-21 22:41 被阅读0次

每个模式的名称就表明了该模式的作用,代理模式就是用代理类替代原对象进行一些操作。采用代理类调用原有的方法,可以对原对象产生的结果进行控制。

举个栗子:

定义一个接口

public interface Sourceable { 
    void function();
}

定义实现类

public class Source implements Sourceable {
    @Override
    public void function() { 
        System.out.println("function"); 
    }
}

定义代理

public class Proxy implements Sourceable {  
  
    private Sourceable source;  

    public Proxy(){  
        this.source = new Source();  
    }  

    public Proxy(Sourceable source){  
        this.source = source;  
    }  

    @Override  
    public void function() {  
        before();  
        source.function();  
        atfer();  
    }  

    private void atfer() {  
        System.out.println("after");  
    }  

    private void before() {  
        System.out.println("before");  
    }  
}

详细代码在这里

总结

  • 代理类实现和目标类相同的接口
  • 代理类的功能由调用目标类功能来实现
  • 在调用功能前后等位置(前、后、前后、catch块)可以添加扩展功能

相关文章

网友评论

      本文标题:代理模式-Proxy

      本文链接:https://www.haomeiwen.com/subject/zphcvttx.html