注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

北漂的小羊

Java编程,开发者,程序员,软件开发,编程,代码。新浪微博号:IT国子监

 
 
 

日志

 
 
关于我

在这里是面向程序员的高品质IT技术学习社区,是程序员学习成长的地方。让我们更好地用技术改变世界。请关注新浪微博号: IT国子监(http://weibo.com/itguozijian)

网易考拉推荐

由Spring AOP来说明AOP作用 各种实现的优缺点  

2012-12-10 18:27:47|  分类: spring |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

面对方法编程并不是要取代面对对象编程,而是要提高它。AOP程序员一般来说都是90%使用OOP来解决问题

  而10%是用AOP来解决OOP不能解决的问题。
  横切关注点(cross-cutting Concerns)
  很多时候你发现你的类并不能十分清晰和明白的表到你所想表达的功能意义,因为你真正的代码大多被其它代码所包围了。如果你想很好的扩展或集成你所想表达的功能意义,你最好就用方面的思想来考虑它了。
  开发中的分层(layering Based on Deployment)
  AOP另外一个很有用的地方就是可以用来为你的应用程序分层。很多时候你希望的一些特殊应用或类是可以很好的配置的,但同时也希望这些东西是不臃肿和可以扩展的。AOP提供了很好的途径来分层这些复杂的东西。JBOSS AOP提供了XML配置的机制来配置每个方面的开发。最好的例子就是缓存服务,它提供了不同的锁机制。这些缓存锁机制可以很好的织入你的内,而不影响你的类的代码,这样你的类就是很好的扩展性了。
  透明性(transparency)
  很多时候你都想把你的程序的焦点集中在商务应用和应用逻辑上,而不是关注于中间件的开发。AOP允许你透明的应用中间件而不再使你的代码收到污染。一个很好的例子就是JBOSS AOP中的用户认证上面。
  异常处理
  处理异常是AOP提供给我们另外一个很有用的东西。例如,SQLException异常包含了SQL语句的 异常信息或者数据库的死锁等信息,但这些信息却使用不同错误代码和信息。AOP可以让你拦截SQL语句信息,并分类处理数据库死锁信息。

AOP作用

  Authentication 权限

  Caching 缓存

  Context passing 内容传递

  Error handling 错误处理

  Lazy loading 懒加载

  Debugging 调试

  logging, tracing, profiling and monitoring 记录跟踪 优化 校准

  Performance optimization 性能优化

  Persistence 持久化

  Resource pooling 资源池

  Synchronization 同步

  Transactions 事务

 

?Spring AOP(动态):通过代理程序运行时织入
n优点:简单,易用
n缺点:性能略低,仅适用于方法调用,必须在Spring容器

?Aspect J(静态):通过修改程序的字节码完成织入
n优点:性能好,功能强大,无需Spring容器
n缺点:修改需要重新编译,要引入Aspect J的编译器/织入器,复杂

  评论这张
 
阅读(8315)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016