AOP(面向切面程式設計)和Spring 的AOP

2022-10-10 10:57:16 字數 608 閱讀 1283

aop 是面向切面程式設計,相對於oop(物件導向程式設計),spring 的aop 是aop 思想的一種實現

aop 可以說是oop 的補充和完善

oop 引入封裝、繼承和多型性等概念來建立一種物件層次結構,用以模擬公共行為的乙個集合。當我們需要為分散的物件引入公共行為的時候,oop 則顯得無能為力

在oop 中只能通過繼承類和實現介面來讓一組類共享相同的行為,使**的耦合度增強, 且類繼承只能為單繼承, 阻礙更多行為新增到一組類上

aop 的存在目的是為了解耦,讓一組類共享相同的行為

aop 利用一種稱為「橫切」的技術,剖解開封裝的物件內部,並將那些影響了多個類的公共行為封裝到乙個可重用模組,並將其名為 「aspect」,即方面。所謂「方面」,簡單地說,就是將那些與業務無關,卻為業務模組所共同呼叫的邏輯或責任封裝起來,便於減少系統的重複**,降低模組間的耦合度,並有利於未來的可操作性和可維護性

如果說「物件」是乙個個空心的圓柱體,面向切面程式設計的方法,就彷彿一把利刃,將這些空心圓柱體剖開,以獲得其內部的訊息。而剖開的切面,也就是所謂的「方面」了。然後在這些切面上進行相同的行為比如許可權認證、日誌、事務處理,最後它又以巧奪天功的妙手 將這些剖開的切面復原,不留痕跡,最終達到了封裝共性行為,降低系統耦合度的目的。

aop 面向切面程式設計

起源 研究人員就對物件導向思想的侷限性進行了分析。他們研究出了一種新的程式設計思想,借助這一思想或許可以通過減少 重複模組從而幫助開發人員提高工作效率。隨著研究的逐漸深入,aop也逐漸發展成一套完整的程式設計思想,各種應用aop的技術也應運而生。aop思想 定義乙個切面,在切面的縱向定義處理方法,處...

AOP面向切面程式設計

1 概念 面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop是oop的延續,利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率 2 作用 1.解耦,將通用性的功能模組 與業務 解耦 ioc專...

AOP 面向切面程式設計

aop aspect oriented programming 即面向切面程式設計,可以說是oop object oriented programming 物件導向程式設計的補充和完善。面向切面程式設計是物件導向中的一種方式而已。在 執行過程中,動態嵌入其他 叫做面向切面程式設計。常見的使用場景 日...