代理模式之静态代理实现代码
Posted gaopengpy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代理模式之静态代理实现代码相关的知识,希望对你有一定的参考价值。
静态代理是由程序员创建或特定工具自动生成源代码,在对其编译。在程序员运行之前,代理类.class文件就已经被创建了。动态代理是在程序运行时通过反射机制动态创建的。
静态代理模式由三个部分构成:
一个公共的接口、一个代理角色、一个被代理角色
接口:
public interface BuyHouse { void buyHouse(); }
接口实现类:
public class BuyHouseImpl implements BuyHouse { public void buyHouse() { System.out.println("我要买房"); } }
代理类:
public class BuyHouseProxy implements BuyHouse { private BuyHouse buyHouse; public BuyHouseProxy(final BuyHouse buyHouse) { this.buyHouse = buyHouse; } public void buyHouse() { System.out.println("代理类BuyHouseProxy buyHouse方法的调用前执行..."); buyHouse.buyHouse(); System.out.println("代理类BuyHouseProxy buyHouse方法的调用后执行..."); } }
测试类:
public class TestStaticProxy { public static void main(String[] args) { BuyHouse buyHouse = new BuyHouseImpl(); BuyHouseProxy buyHouseProxy = new BuyHouseProxy(buyHouse); buyHouseProxy.buyHouse(); } }
运行结果:
以上是关于代理模式之静态代理实现代码的主要内容,如果未能解决你的问题,请参考以下文章