首页> Java> java教程> 正文

深入浅出java设计模式--静态代理

无忌哥哥
发布: 2018-07-23 11:17:01
原创
1844 人浏览过

1、定义通用接口

/** * 定义通用接口 * @author Administrator * @date 2018/7/22 */ public interface IBusiness { /** * 接口执行方法 */ void execute(); }
登录后复制

2、定义真实操作实现类

/** * 真实操作实现类 * @author Administrator * @date 2018/7/22 */ public class BusinessImpl implements IBusiness{ @Override public void execute() { System.out.println("真正执行操作......"); } }
登录后复制

3、静态代理操作

/** * 静态代理 * @author Administrator * @date 2018/7/22 */ public class ProxyBusiness implements IBusiness{ /** * 定义需要执行的接口 */ private IBusiness business; /** * 通过set方法传参,真实需要执行的对象 */ public void setBusiness(IBusiness business) { this.business = business; } /** * 代理对象执行操作 */ @Override public void execute() { if(business == null){ System.out.println("实际操作对象为null"); return; } before(); business.execute(); after(); } /** * 执行操作前 */ public void before(){ System.out.println("执行操作前......"); } /** * 执行操作后 */ public void after(){ System.out.println("执行操作后......"); } /** * 测试 */ public static void main(String[] args) { ProxyBusiness proxyBusiness = new ProxyBusiness(); BusinessImpl business = new BusinessImpl(); proxyBusiness.setBusiness(business); proxyBusiness.execute(); } }
登录后复制

总结:静态代理可以通过实现通用接口的不同实现类,来完成相关代理,但是不是相同的通用接口则无效;需要实现很多个接口和代理类,导致代理接口和实现类庞大,不便维护。推荐使用动态代理。

以上是深入浅出java设计模式--静态代理的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!