首先,我们创建一个Person接口。Student可以具体实施上交班费的动作。下面测试一下,看如何使用代理模式:运行结果:这里并没有直接通过张三来执行上交班费的行为,而是通过班长来代理执行了。代理模式最主要的就是有一个公共接口,一个具体的类,一个代理类,代理类持有具体类的实例,代为执行具体类实例方法。一旦需要代理的类中方法比较多,或者需要同时代理多个对象的时候,这无疑会增加很大的复杂度。代理类在程序运行时创建的代理方式被成为动态代理。相比于静态代理, 动态代理的优势在于可以很方便的对代理类的函数进行统一的处理,而不用修改每个代理类中的方法。
暂无评论