代理模式就是访问一个类的时候,用另一个类去替代它被访问,相当于在被访问资源和访问资源的进程中添加一个中间层
例子:
首先有一个接口:
public interface agency {
void sys(String name);
}
然后被访问资源:
public class agency_demo implements agency {
@Override
public void sys(String name) {
System.out.println("ok? "+name);
}
}
写一个被访问资源的中间件:
public class agency_demo1 implements agency {
private agency_demo a_d;
@Override
public void sys(String name) {
if(a_d == null)
{
a_d = new agency_demo();
}
a_d.sys(name);
}
}
最后是一个测试类:
public class test_demo {
public static void main(String [] args)
{
agency a = new agency_demo1();
a.sys("success");
}
}
输出结果:ok? success
代理模式与适配器模式的区别就是:适配器模式改变接口,让其适应不同的类型,而代理模式不改变