簡單理解AOP(面向切面程式設計)

2021-07-26 15:49:23 字數 886 閱讀 9030

aop為aspect oriented programming的縮寫,意為:面向切面程式設計,通過預編譯方式和執行期動態**實現程式功能的統一維護的一種技術。

aop與oop是面向不同領域的兩種設計思想。

oop(物件導向程式設計)針對業務處理過程的實體及其屬性行為進行抽象封裝,以獲得更加清晰高效的邏輯單元劃分。

aop則是針對業務處理過程中的切面進行提取,它所面對的是處理過程中的某個步驟階段,以獲得邏輯過程中各部分之間低耦合性的隔離效果

我們可以單單從上面的字面上來理解aop和oop的話,用下面的理解也不為過:

oop實際上是對物件的屬性和行為的封裝,而aop對於這點就無從談起,但是aop是處理某個步驟和階段的,從中進行切面的提取,也就是說,如果幾個或更多個邏輯過程中,有重複的操作行為,aop就可以提取出來,運用動態**,實現程式功能的統一維護,這麼說來可能太含蓄,如果說到許可權判斷,日誌記錄等,可能就明白了。如果我們單純使用oop,那麼許可權判斷怎麼辦?在每個操作前都加入許可權判斷?日誌記錄怎麼辦?在每個方法裡的開始、結束、異常的地方手動新增日誌?所有,如果使用aop就可以借助**完成這些重複的操作,就能夠在邏輯過程中,降低各部分之間的耦合了。二者揚長補短,互相結合最好。

下面詳細了解一些aop的概念:

spring 中 aop **由 spring 的 ioc 容器負責生成、管理,其依賴關係也由 ioc 容器負責管理。至於spring的aop在專案中具體是怎麼實現的,下篇部落格會以日誌記錄為例進行學習。

簡單理解AOP(面向切面程式設計)

aop為aspect oriented programming的縮寫,意為 面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop與oop是面向不同領域的兩種設計思想。oop 物件導向程式設計 針對業務處理過程的實體及其屬性和行為進行抽象封裝,以獲得更加清晰高效的邏輯...

簡單理解AOP(面向切面程式設計)

aop為aspect oriented programming的縮寫,意為 面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop與oop是面向不同領域的兩種設計思想。oop 物件導向程式設計 針對業務處理過程的實體及其屬性和行為進行抽象封裝,以獲得更加清晰高效的邏輯...

Spring 面向切面程式設計AOP的簡單理解及實現

aop,面向切面程式設計,利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率。aop的主要功能 許可權控制 事務管理 日誌列印 效能統計 異常處理等 aop的三大點 1 關注點 重複 2 切面 抽取重複 3 切入點 攔截哪些方...