设计模式(10)- 代理模式

代理模式

1.定义

         为其他对象提供一种代理,以控制对这个对象的访问。

2.示例代码

   

/*抽象目标接口*/
public interface Subject{
    //抽象请求接口
    public void request();  
}

/*具体目标对象*/
public class RealSubject implements Subject{
   public void request(){
       System.out.println("正在处理被代理对象请求...");
   }
}

   

/*代理对象*/
public class Proxy implements Subject{
    /*持有被代理目标对象*/
    public RealSubject realSubject = null;
    public Proxy(RealSubject realSubject){
       this.realSubject  = realSubject ;
    }
    public void request(){
       //1.在转调目标对象之前,可以执行一些功能处理
       System.out.pringln("代理对象处理");
       //2.调用具体对象
       realSubject.request();
    }
}

  

3.实际应用

       代理模式在客户和被客户访问的对象之间,引入了一定程度的间接性,客户直接使用代理,让代理来与被访问的对象直接进行交互,这种附加的间接性有不同的用途,如远程代理、虚代理、保护代理、智能引用。

代理模式的本质:控制对象访问

猜你喜欢

转载自renhanxiang.iteye.com/blog/2407652