一、代理模式
概述:代理模式是Java开发中使用较多的一种设计模式。代理设计就是为其他对象提供一种代理以控制对这个对象的访问。
应用场景:
① 安全代理:屏蔽对真实角色的直接访问,对外暴露的是代理类的信息。
② 远程代理:通过代理类处理远程方法调用。
③ 延迟加载:先加载轻量级的代理对象,真正需要再加载真实对象。
④ 静态代理(静态定义代理类):每针对一套接口定义一个代理类。
⑤ 动态代理(动态生成代理类)
示例代码如下:
public class ProxyTest {
public static void main(String[] args) {
Server server = new Server();
ServerProxy serverProxy = new ServerProxy(server);
serverProxy.browse();
}
}
interface Network{
public void browse();
}
// 被代理类
class Server implements Network{
@Override
public void browse() {
// code
}
}
// 代理类。除了实现特定的方法,还会实现一些别的方法
class ServerProxy implements Network{
private Network network;
public ServerProxy(Network network) {
this.network = network;
}
public void check() {
// code
}
@Override
public void browse() {
network.browse();
}
}