spring_(15) AOP 相關基礎(AOP簡介) 之二
阿新 • • 發佈:2018-12-02
AOP簡介
- AOP(Aspect-Oriented Programming,面向切面程式設計):是一種新的方法論,是對傳統OOP(Object-Oriented Programming,面向物件程式設計)的補充
- AOP的主要程式設計物件是切面(aspect),而切面模組化橫切關注點.
- 在應用AOP程式設計時,仍然需要定義公共功能,但可以明確的定義這個功能在哪裡,以什麼方式應用,並且不必修改受影響的類.這樣一來橫切關注點就被模組化到特殊的物件(切面)裡.
- AOP的好處:
- 每個事物邏輯位於一個位置,程式碼不分散,便於維護和升級.
- 業務模組更簡潔,只包含核心業務程式碼.
AOP術語
- 切面(Aspect):橫切關注點(跨越應用程式多個模組的功能)被模組化的特殊物件
- 通知(Advice):切面必須要完成的工作
- 代理(Proxy) :向目標物件應用通知之後建立的物件
- 連線點(Joinpoint):程式執行的某個特定位置:如類某個方法呼叫前、呼叫後、方法丟擲異常後等。連線點由兩個資訊確定:方法表示的程式執行點;相對點表示的方位。例如 ArithmeticCalculator#add()方法執行前的連線點執行點為ArithmethicCalculator#add();方位為該方法執行前的位置
- 切點(Pointcut):每個類都擁有多個連線點