Java实战——面向切面编程(aspect oriented programming,AOP)

DI能够让相互协作的类保持松散耦合,而AOP能够让相互协作的功能保持松耦合。

面向切面编程是促使软件系统实现关注点分离的一项技术。软件系统尤其是大型软件系统通常由许多不同的功能模块组合而成,每个功能模块负责某一特定的功能。除了实现核心功能以外,这些功能模块往往还需承担一些额外的职责。诸如日志、事务管理和安全这样的系统服务通常被称为横向关注点,因为它们会跨越系统的多个功能模块。

 如果任由这些关注点分散在各地,你的代码将变得混乱并且复杂:

  • 实现关注点功能的代码将会重复出现在多个组件中。这意味着如果你要改变这些关注点的逻辑,必须修改各个模块中的相关实现。即使你将这些关注点抽象为一个独立的模块,其他模块只是调用它的方法,但方法的调用还是会出现在各个模块中。
  • 功能模块会因为那些与自身核心业务无关的代码而变得混乱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值