说明:类似代理商,spring的AOP框架都用到代理,包含动态代理和静态代理
1、接口
interface ISubject{
void request();
}
2、被代理的实现
//RealSubject类
class RealSubject implements ISubject {
public void request(){
System.out.println("真实的请求。");
}
}
3、代理实现
可以看到引入了被代理类,这里代理类可以进行增强,在request方法里面添加相应的内容
class Proxy implements ISubject{
private RealSubject rs;
public Proxy(){
this.rs = new RealSubject();
}
public void request(){
this.rs.request();
}
}
4、测试和结果
public class Test {
public static void main(String[] args){
System.out.println("**********************************************");
System.out.println("《大话设计模式》代码样例");
System.out.println();
Proxy proxy = new Proxy();
proxy.request();
System.out.println();
System.out.println("**********************************************");
}
}
结果