博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
依赖注入及AOP简述(十三)——AOP应用举例(完结) .
阅读量:6003 次
发布时间:2019-06-20

本文共 644 字,大约阅读时间需要 2 分钟。

2.     AOP应用举例

在一般的应用程序开发中,有一些典型的AOP应用,使得开发者可以专注于业务逻辑本身,而不是与之完全无关的一些“方面”。

l        首先就是关于前面介绍过的日志输出类的功能,当然前面的例子非常简单,实际上要输出的日志信息中往往有很多的可变参数,这时就需要从被拦截对象的上下文中取出相应的信息进行行为的增强。

l        最常用的AOP应用就是关于DB事务的管理了。业务处理成功则向DB提交事务,反之则回滚事务——这是每一个开发者都会写过的代码。但是实际上这种事务的处理是完全独立的“方面”,不依赖于任何逻辑的实现,即任何有关DB的逻辑处理都是要提交或者回滚的,因此关于DB事务管理的功能往往由AOP框架去管理。Spring、Seam、Guice包括EJB应用中的容器管理事务的功能,实质上都是AOP的应用。

l        另外关于安全处理的功能,往往是和开发者所开发的逻辑无关的“方面”,因为所有需要判定当前的用户是否有权限执行某段逻辑这样的需求,一般都是同样的处理方式——用户有权限则继续处理,用户无权限则抛出异常。这种情况下为了避免开发者写出大量的if语句,用框架提供的AOP的方式去做安全的判定,应是最佳解决方案。

 

有关依赖注入设计模式的话题,其实是一个非常广泛的话题,不同的框架对其有着共同或不同的理念,所产生的最佳实践也有相似的一面和各不相同的一面,我们在这里由于篇幅有限,只能做以上的比较粗浅的介绍,大家如有兴趣可以继续通过互联网和各种书籍深入研究这种到目前为止非常成功的设计模式。

转载地址:http://pddmx.baihongyu.com/

你可能感兴趣的文章
dart 自己写一个文件编码器
查看>>
JS验证手机号
查看>>
RMI参考
查看>>
安装centos
查看>>
myeclipse下jsp页面汉字不能保存问题
查看>>
存储系统层次结构
查看>>
《浏览器渲染原理及流程》学习笔记
查看>>
python 杂记
查看>>
USB学习笔记
查看>>
三十天学不会TCP,UDP/IP网络编程-TraceRoute的哲学
查看>>
2.kubernetes Pod介绍
查看>>
第三次实验
查看>>
es6 单例
查看>>
POJ1703 && POJ2942 &&POJ 1182 并查集 这个做法挺巧妙
查看>>
POJ 3723 Conscription 最小生成树
查看>>
(转载)Wireshark基本介绍和学习TCP三次握手
查看>>
云计算盈利模式都有什么?
查看>>
线程池、线程安全
查看>>
【BZOJ1003】【ZJOI2006】物流运输
查看>>
配置HDFS HttpFS和WebHDFS
查看>>