您所在的位置:主页 > Java培训 >

Java设计模式之静态代理

时间:2019-02-22 11:57来源:未知 作者:os 点击:

       由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。 
示例代码: 
1.抽象角色
 
2.代理角色
 
3.真实角色
 
4.客户端
 
5.静态代理的优缺点
优点:业务类只需要关注业务逻辑本身,保证了业务类的重用性。这是代理的共有优点。
缺点:代理对象的一个接口只服务于一种类型的对象,如果要代理的方法很多,势必要为每一种方法都进行代理,静态代理在程序规模稍大时就无法胜任了。
如果接口增加一个方法,除了所有实现类需要实现这个方法外,所有代理类也需要实现此方法。增加了代码维护的复杂度。