一、概述
编程范式概述
- 面向过程编程
- 面向对象编程
- 面向切面编程
- 函数式编程
- 事件驱动编程(GUI)
主要解决问题:
1、解决代码层面上的重复性问题
2、关注点分离
- 水平分离:展示层-->服务层-->持久层
- 垂直分离:模块划分(订单、库存)
- 切面分离:分离功能性需求和非功能性需求
好处:
- 集中处理某一关注点/横切逻辑
- 方便的添加/删除关注点
- 侵入性少,增加代码可读性/可维护性
主要应用场景:
1、权限控制
2、缓存控制
3、事物控制
4、审计日志
5、性能监控
6、分布式追踪
7、异常处理