代理模式定义:为其他对象提供一种代理以控制对这个对象的访问。
代理模式初步理解:代理对象可以代理很多功能,具体要要个功能需要客户端指出,代理对象所做的就是调用某个功能,因此代理对象中要有这些功能对象的引用。为了使引用统一,将所有的功能类继承于统一父类。为了给客户端暴露统一的方法,将代理对象与功能对象也继承于统一父类。
code…
代理类和功能类的统一父类:
public abstract class Subject {
public abstract void request();
}
代理类(有多个,结构类似):
public class Proxy extends Subject{
private Subject sub;//用来执行功能类
public Proxy(Subject sub) {
this.sub = sub;
}
@Override public void request() {
sub.request();//真正执行功能,在此前后可以增加一些其他的业务
}
}
具体的功能类:
public class RealSubjectA extends Subject {
@Override public void request() {
System.out.println("真实的请求,并且发生响应A");
}
}
main方法:
public class Main {
public static void main(String[] args) {
Proxy pro=new Proxy(new RealSubjectC());//指明要代理的功能
pro.request();
}
}
代理模式在java中的应用:反射代理和Spring AOP
上一篇 |
---The End---
| 下一篇 |