走进面向切面编程

走进面向切面编程


编程范式概览

面向过程编程  面向对象编程  函数式编程

  事件驱动编程  面向切面编程


AOP是什么

1、是一种编程范式,不是编程语言。

2、解决特定问题,不能解决所有问题。

3、是OOP的补充,不是替代。


AOP的初衷

DRY:Don't Repeat Yourself

Soc:Separation of Concerns

  -水平分离:展示层->服务层-->持久层

  -垂直分离:模块划分(订单、库存等)

  -切面分离:分离功能性需求与非功能性需求


使用AOP的好处

  集中处理某一关注点/横切逻辑

  可以很方便地添加/删除关注点

  侵入性少,增强代码可读性及可维护性


AOP的应用场景

  权限控制 缓存控制 事务控制 

  审计日志 性能监控

  分布式追踪 异常处理


支持AOP的变成语言

  Java  .NET  C/C++  

    Ruby  Python  PHP 等等






你可能感兴趣的:(Spring)