探祕Spring AOP
一、走進面向前面編程
二、什麼是AOP
1、是一種編程範式,不是編程語言
2、解決特定問題,不能解決全部問題
3、是OOP的補充,不是替代
三、AOP的初衷
1、解決Don't Repeat Yonrself
DRY原則,代碼重複性問題java
2、解決Separation of Concerns
SoC關注點分離c++
- 水平分離:展現層 -> 服務層 ->持久層
- 垂直分離:模塊劃分(訂單,庫存等)
- 切面分離:分離功能性需求與非功能性需求
四、AOP的好處
1、集中處理某一關注點、橫切邏輯
2、能夠很方便的添加、刪除關注點
3、 侵入性少、加強代碼可讀性及可維護性
五、AOP的應用場景
1、權限控制
2、緩存控制
3、事務控制
4、審計日誌
5、性能監控
6、分佈式追蹤
7、異常處理
六、AOP支持編程語言
java,.net,c/c++,Ruby,Python,PHP .......編程