1. 概述
在軟體業,aop為aspect oriented programming的縮寫,意為:面向切面程式設計,通過預編譯方式和執行期間動態**實現程式功能統一維護的一種技術。aop是oop(物件導向程式設計)的延續,是軟體開發中的乙個熱點,是函式式程式設計的一種衍生范型。利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率。總結優點其實aop的本質就是動態**,何為動態**呢?
動態**就是在程式執行時,建立目標物件的**物件,並對目標物件中的方法進行功能性增強的一種技術。通俗一點來說就是在執行期間對方法的攔截,在方法執行前後進行額外的業務處理,從而在不嵌入原有**邏輯情況下就能增強被攔截方法的業務能力。
2. 實踐檢驗真理(到底優不優秀)
先來乙個控制台專案,什麼都沒有,從頭開始擼**,先來看看專案結構:
老案例了,還是假裝在進行使用者維護,模擬對使用者進行增刪改查。這次就直接上**啦啊,根據專案結構依次看看**:
這樣專案就正常執行啦,這個就不用我截圖了吧,小夥伴都會吧。
專案執行正常,但需要加乙個需求:使用者增加成功之後進行郵件傳送通知。
目前有兩種解決方案
專案中引入aop(面向切面程式設計)思想
3. 應用場景
aop思想是很優秀,但總不能處處都得用吧,需根據業務來評估是否需要;常用應用場景大概有以下幾個:
先暫時聊這麼多吧,瞌睡啦,小夥伴們晚安嘍!!!
乙個被程式搞醜的帥小伙,關注"code綜藝圈",跟我一起學~~~
aop 面向切面程式設計
起源 研究人員就對物件導向思想的侷限性進行了分析。他們研究出了一種新的程式設計思想,借助這一思想或許可以通過減少 重複模組從而幫助開發人員提高工作效率。隨著研究的逐漸深入,aop也逐漸發展成一套完整的程式設計思想,各種應用aop的技術也應運而生。aop思想 定義乙個切面,在切面的縱向定義處理方法,處...
AOP面向切面程式設計
1 概念 面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop是oop的延續,利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率 2 作用 1.解耦,將通用性的功能模組 與業務 解耦 ioc專...
AOP 面向切面程式設計
aop aspect oriented programming 即面向切面程式設計,可以說是oop object oriented programming 物件導向程式設計的補充和完善。面向切面程式設計是物件導向中的一種方式而已。在 執行過程中,動態嵌入其他 叫做面向切面程式設計。常見的使用場景 日...