静态代理模式

代理模式(proxy):为其他对象提供一种代理,以控制对这个对象的访问。

应用场景:安全代理:屏蔽对真实角色的直接访问

     远程代理: 通过代理类处理远程方法调用

     延迟加载:现在加载轻量级的代理对象,真正需要时再加载真实对象

示例

  

package com.proxy;

/**
* @auto dh
* @create 2020-03-22-14:31
*/
interface House{
void stay();
}
//被代理类
class Renter implements House{
@Override
public void stay() {
System.out.println("我是租客,我要租房子住");
}
}
//静态代理类
class AgentProxy implements House{
// 被代理对象
private House Renter;
public AgentProxy(House renter){
this.Renter=renter;
}
@Override
public void stay() {
System.out.println("我是中介负责租房子");
//被代理对象的需求
this.Renter.stay();
}
}
public class StaticProxyTest {
public static void main(String[] args) {
Renter renter=new Renter();
AgentProxy agent=new AgentProxy(renter);
agent.stay();
}

}
原文地址:https://www.cnblogs.com/kukai/p/12545956.html