1、AOP為AspectOrientedProgramming的縮寫,是面向切面編程,通過預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)程序功能的統(tǒng)一維護(hù)的一種技術(shù)。
2、AOP是OOP的延續(xù),是軟件開發(fā)中的一個(gè)熱點(diǎn),也是Spring框架中的一個(gè)重要內(nèi)容,是函數(shù)式編程的一種衍生范型。
3、AOP的出現(xiàn)彌補(bǔ)了OOP的這點(diǎn)不足,AOP是一個(gè)概念,一個(gè)規(guī)范,本身并沒有設(shè)定具體語言的實(shí)現(xiàn),AOP是基于動(dòng)態(tài)代理模式。
【資料圖】
4、AOP是方法級別的,要測試的方法不能為static修飾,因?yàn)榻涌谥胁荒艽嬖陟o態(tài)方法,編譯就會(huì)報(bào)錯(cuò)。
5、AOP可以分離業(yè)務(wù)代碼和關(guān)注點(diǎn)代碼(重復(fù)代碼),在執(zhí)行業(yè)務(wù)代碼時(shí),動(dòng)態(tài)的注入關(guān)注點(diǎn)代碼。
6、切面就是關(guān)注點(diǎn)代碼形成的類。
7、SpringAOP中的動(dòng)態(tài)代理主要有兩種方式,JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理。
8、JDK動(dòng)態(tài)代理通過反射來接收被代理的類,并且要求被代理的類必須實(shí)現(xiàn)一個(gè)接口。
9、擴(kuò)展資料AOP實(shí)現(xiàn)的關(guān)鍵在于AOP框架自動(dòng)創(chuàng)建的AOP代理,AOP代理主要分為靜態(tài)代理和動(dòng)態(tài)代理,靜態(tài)代理的代表為AspectJ。
10、而動(dòng)態(tài)代理則以SpringAOP為代表,靜態(tài)代理是編譯期實(shí)現(xiàn),動(dòng)態(tài)代理是運(yùn)行期實(shí)現(xiàn),可想而知前者擁有更好的性能。
11、靜態(tài)代理是編譯階段生成AOP代理類,也就是說生成的字節(jié)碼就織入了增強(qiáng)后的AOP對象;動(dòng)態(tài)代理則不會(huì)修改字節(jié)碼,而是在內(nèi)存中臨時(shí)生成一個(gè)AOP對象,這個(gè)AOP對象包含了目標(biāo)對象的全部方法,并且在特定的切點(diǎn)做了增強(qiáng)處理,并回調(diào)原對象的方法。
12、參考資料來源;搜狗百科--AOP AOP是OOP的延續(xù),是AspectOrientedProgramming的縮寫,意思是面向方面編程。
13、AOP實(shí)際是GoF設(shè)計(jì)模式的延續(xù),設(shè)計(jì)模式孜孜不倦追求的是調(diào)用者和被調(diào)用者之間的解耦,AOP可以說也是這種目標(biāo)的一種實(shí)現(xiàn)。
14、 舉例:假設(shè)有在一個(gè)應(yīng)用系統(tǒng)中,有一個(gè)共享的數(shù)據(jù)必須被并發(fā)同時(shí)訪問,首先,將這個(gè)數(shù)據(jù)封裝在數(shù)據(jù)對象中,稱為DataClass,同時(shí),將有多個(gè)訪問類,專門用于在同一時(shí)刻訪問這同一個(gè)數(shù)據(jù)對象。
15、 為了完成上述并發(fā)訪問同一資源的功能,需要引入鎖Lock的概念,也就是說,某個(gè)時(shí)刻,當(dāng)有一個(gè)訪問類訪問這個(gè)數(shù)據(jù)對象時(shí),這個(gè)數(shù)據(jù)對象必須上鎖Locked,用完后就立即解鎖unLocked,再供其它訪問類訪問。
16、AOP:advance online publication.在線雜志出版物。
17、 面向切面編程:Aspect Oriented Programming AOP是OOP的延續(xù),是Aspect Oriented Programming的縮寫,意思是面向切面編程。
18、可以通過預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理實(shí)現(xiàn)在不修改源代碼的情況下給程序動(dòng)態(tài)統(tǒng)一添加功能的一種技術(shù)。
19、AOP實(shí)際是GoF設(shè)計(jì)模式的延續(xù),設(shè)計(jì)模式孜孜不倦追求的是調(diào)用者和被調(diào)用者之間的解耦,AOP可以說也是這種目標(biāo)的一種實(shí)現(xiàn)。
20、oop:縱向的業(yè)務(wù)。
21、Aop:oop的一個(gè)橫向服務(wù),是對oop進(jìn)一步補(bǔ)充,提高安全、事務(wù)、日志等的集中式處理。
22、相關(guān)的裝備before、around、after樓下的解釋應(yīng)該不是樓主想要的。
23、我想應(yīng)該是年度經(jīng)營計(jì)劃(annual operating program)。
本文到此分享完畢,希望對大家有所幫助。
[責(zé)任編輯:linlin]
標(biāo)簽: