1. 代理设计模式
代理设计模式
2. 代理设计模式实现代码
public class NetWorkTest {
public static void main(String[] args) {
NetWork netWork = new Server();
ProxyServer proxyServer = new ProxyServer(netWork);
proxyServer.browse();
}
}
interface NetWork{
public void browse();
}
/*
* 被代理类和代理类都必须实现同一个接口,然后使用多态来实现代理.
* 代理类可以代理实现NetWork接口的所有类。
* 我们只需要实现被代理类的核心方法即可,然后将被代理的类通过代理类的构造方法交给代理类即可。
*/
//被代理类
class Server implements NetWork{
@Override
public void browse() {
System.out.println("真正的服务器访问网络!!");
}
}
//代理类
class ProxyServer implements NetWork{
private NetWork netWork;
//得到被代理的类
public ProxyServer(NetWork netWork) {
this.netWork = netWork;
}
public void check() {
System.out.println("正在进行服务器浏览之前的检验!!!");
}
@Override
public void browse() {
check();
//在此方法中带用被代理的类的方法,也就是此类代理的被代理类
this.netWork.browse();
}
}
3. 代理设计模式的应用
代理设计模式的应用
4. 代理设计模式知识点
- java接口:代理类和被代理类必须实现同一个接口。
- java多态:体现在代理的构造器必须传入一个实现接口的类。