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

代理模式

时间:2017-12-17 16:57:56      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:class   代理   利用   实现   turn   string   run   serve   private   

1.定义
给某一对象提供一个代理对象,并由代理对象控制对原对象的引用。可以通过代理对象在客户端和目标对象之间起到中介作用
2.代理模式里的角色
抽象对象角色:目标对象和代理对象的共同的接口
目标对象:
代理对象:代理对象中有目标对象的引用
4.静态代理
接口
public interface Server{
    public String getMessage();
}
目标对象
public class SinaServer implements Server{
    @Override
    public String getMessage(){
        retrun "success";
    }    
}
代理对象
public class NgnixProxy implements Server{
    private Server Server;
    public NgnixProxy(Server server){
        this.server=server;
    }
    @Override
    public String getMessage(){
        return "success";
    }
}
测试:
Server SinaServer=new SinaServer();
Server ngnixProxy=new NgnixProxy(sinaServer); //代理对象控制原对象的引用
5.动态代理:
利用java反射技术,动态创建代理对象。
jdk动态代理:需要定义接口和实现接口
cglib代理,对目标类生成一个子类,覆盖其中方法实现增强,采用的是继承的方式

代理模式

标签:class   代理   利用   实现   turn   string   run   serve   private   

原文地址:http://www.cnblogs.com/inspred/p/8052406.html

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