aop可以說是oop(object oriented programming,物件導向程式設計)的補充和完善。oop引入封裝、繼承、多型等概念來建立一種物件層次結構,用於模擬公共行為的乙個集合。不過oop允許開發者定義縱向的 關係,但並不適合定義橫向的關係,例如日誌功能。日誌**往往橫向地散布在所有物件層次中,而與它對 應的物件的核心功能毫無關係對於其他型別的**,如安全性、異常處理和透明的持續性也都是如此,這種 散布在各處的無關的**被稱為橫切(cross cutting),在oop設計中,它導致了大量**的重複,而不利 於各個模組的重用。
aop技術恰恰相反,它利用一種稱為"橫切"的技術,剖解開封裝的物件內部,並將那些影響了多個類的公共行 為封裝到乙個可重用模組,並將其命名為"aspect",即切面。所謂"切面",簡單說就是那些與業務無關,卻為 業務模組所共同呼叫的邏輯或責任封裝起來,便於減少系統的重複**,降低模組之間的耦合度,並有利於 未來的可操作性和可維護性。
就是有這樣的需求,需要在某一些類中,增加很多統一的**,比如,日誌,事務,許可權等
一些aop相關的名詞
允許我們通知的地方
把 通知 切入到切點上 = 織入
aop 在 不改變原有**的情況下 , 去增加新的功能
c 程式設計梳理(譚浩強)9章
關於類和物件的進一步討論 1 類的初體驗 class box 使用了引數初始化表,此種構造引數是較長用到的,要看得懂 box int a 0,int b 2,int c 3 這裡使用了預設引數的建構函式,但是如果我們要申請物件,例如 box a,那編譯器將不知道使用上面的box 建構函式還是用這個,...
Sping中的 Configuration註解
使用要求 configuration不可以是final型別。configuration不可以是匿名類。巢狀的configuration必須是靜態類。bean類 public class testbean public string tostring public void start public ...
Sping註解開發
基本註解 configuration 作用 標記在類上表示是乙個配置類 相當於乙個配置類 bean 作用 在容器中放乙個bean相當於xml檔案裡的bean標籤 configuration public class democonfig usedefaultfilters false 注意 用inc...