AOP

名词解释

AOP即面向切面编程。

根据维基百科的定义,AOP是一种将函数的辅助性功能与业务逻辑相分离的编程泛型,目的是将横切关注点分离出来,使程序具有更高的模块化特性。

根据百度百科的定义,AOP是可以通过预编译方式和运行期间动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。

自己的理解,AOP侧重切面,即将跟业务逻辑不相关的通用功能(如日志记录、异常处理、缓存处理、事务处理…)封装起来,然后业务代码去调用,最后程序在编译或者运行的时候将调用的Aspect代码和业务代码结合在一起。

AOP的实现方式

静态织入(编译时)

指在编译程序的时候编译器将调用的Aspect代码织入到业务代码中,输出整合后的IL。

动态织入(运行时)

指将业务代码和Aspect分别编译,然后在程序运行的时候由虚拟机在必要时织入。

AOP的优缺点

优点

  • 有利于代码的编写和维护
  • 有利于软件设计的模块化,降低软件架构的复杂性
  • 减少了开发工作,省去了大量冗余代码
  • 提高了代码质量

缺点

  • 增加了理解程序及调试程序的难度
  • 程序运行效率有所降低

典型的AOP框架

  • PostSharp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值