学一点,记一点,才是最有效的学习方法
静态代理很简单,直接上代码
public class Test {
public static void main(String[] args) {
People tlp = new Telangpu();
tlp.say();
People tp = new TelangpuProxy();
tp.say();
}
}
interface People {
public void say();
}
class Telangpu implements People {
public void say() {
System.out.println("我要贸易战!");
}
}
class TelangpuProxy implements People {
private static Telangpu tlp = new Telangpu();
public void say() {
//前置代理
System.out.println("特朗普他说:\"");
tlp.say();
//后置代理
System.out.println("他说完了");
}
}
运行结果
简而言之,就是代理对象持有一个原对象,并创建同名方法,其中调用原方法的对应方法前后加上自己的相关逻辑。
和装饰器模式有点类似,但是装饰器模式是通过构造注入对应符合接口规范的对象。