代理模式 Idea

410 次浏览次阅读
没有评论

代理模式 Proxy

为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用

案例

创建一个 Subject 接口类

package com.learn.Proxy;

public interface Subject {void Request();
}

真实主题,也就是被代理的对象

package com.learn.Proxy;

public class RealSubject implements Subject{
    @Override
    public void Request() {System.out.println(" 访问真实主题方法...");
    }
}

代理类

package com.learn.Proxy;

public class Proxy implements Subject{
    private RealSubject realSubject;

    @Override
    public void Request() {if (realSubject == null) {realSubject = new RealSubject();
        }

        preRequest();
        realSubject.Request();
        postRequest();}

    public void preRequest() {System.out.println(" 访问真实主题之前的预处理...");
    }

    public void postRequest() {System.out.println(" 访问真实主题之后的处理...");
    }

}

客户端

package com.learn.Proxy;

public class Client {public static void main(String[] args) {Proxy proxy = new Proxy();
        proxy.Request();}
}
正文完
 0
评论(没有评论)