代理模式真得这么简单代理模式真得这么简单
代理模式真得这么简单代理模式真得这么简单
代理模式的定义代理模式的定义
为另一个对象提供一个替身或占位符以控制对这个对象的访问为另一个对象提供一个替身或占位符以控制对这个对象的访问
代理模式类图代理模式类图
简单描述就是真实对象真实对象,RealSubject,和代理对象代理对象,Proxy实现同一个接口Subect,并且代理对象Proxy持有真实对象的引用
静态代理实例静态代理实例
GumballMachine,作为真实对象真实对象
//糖果机,拥有两个属性,位置和糖果数量
public class GumballMachine{
String location;
int count;
public GumballMachine(String location, int count){
this.location = location;] this.count = count;
}
public String getLocation(){return location;}
public int getCount(){;return count;}
}
GumballMonitor,作为代理对象,控制对真实对象的访问
public class GumballMonitor{
GumballMachine machine;
public GumballMonitor(GumballMachine machine){
this.machine = machine;
}
public void report() {
System.out.println("Gumball Machine " + machine.getLocation());
System.out.println("Current inventory: " + machine.getCount() + "gumballs");
}
}
Main函数
public class GumballMachineTestDrive{
public static void main(String args[]) {
GumballMachine machine = new GumballMachine("ChangJinag", 20);
GumballMonitor monitor = new GumballMonitor(machine);
monitor.report();
}
}
动态代理实例动态代理实例
java动态代理工具,在java.lang.reflect包里,使用起来其实也简单,下面用一个实例简单介绍一下java动态代理的具体用法
java动态代理类图动态代理类图
评论0