几种编程范式
- 面向过程编程 C语言 Basic语言
- 面向对象编程 Java语言 C++语言
- 面向函数编程 函数是第一等功能
- 事件驱动编程 GUI开发
- 面向切面编程
AOP是什么
- 是一种编程范式,不是编程语言
- 解决特定问题
- 是面向对象编程(OOP)的补充
AOP的初衷
- 解决代码重复性问题
- 解决关注点分离:水平分离、垂直分离、切面分离
- 水平分离:展示层 - 服务层 - 持久层
- 垂直分离:功能模块划分 (订单模块、库存模块)
- 切面分离:功能性需求 / 非功能性需求
AOP的应用场景
- 权限控制
- 缓存控制
- 事物控制
- 审计日志
- 性能监控
- 分布式追踪
- 异常处理