1.代理模式
代理模式为其它对象提供一种代理以控制这个对象的访问,主要解决在直接访问对象时带来的问题,有些对象由于某些原因,直接访问会给使用者或者系统带来很多麻烦,此时我们可以在访问此对象时加一个对该对象的访问层;不能直接操作目标对象,要访问它必须通过代理类访问,代理类可以完成目标对象的操作,还可以延展其他的操作,脏活累活它全揽;
2.静态代理
静态代理类必须持有目标对象的引用,以便达到操作目标对象的目的
①抽象接口类
public interface Subject {
void visit(int channel);
}
②目标(真实)对象类
**
* 委托类
*/
public class RealSubject implements Subject {
@Override
public void visit(int channel) {
if(channel == 1) {
System.out.println("我是静态委托类");
}else {
System.out.println("我是动态委托类");
}
}
}
③静态代理类
public class StaticProxy implements Subject {