(1)oop與aop的區(qū)別:
oop是面向?qū)ο缶幊?aop是面向切面編程或者面向方面編程..
(2)aop的用處和優(yōu)點(diǎn)
aop能夠?qū)⒛切┡c業(yè)務(wù)無關(guān),確為業(yè)務(wù)模塊所共同調(diào)用的邏輯或責(zé)任,例如日志記錄,性能統(tǒng)計(jì),安全控制,異常處理,等封裝起來..
優(yōu)點(diǎn):減少系統(tǒng)代碼的重復(fù)性,降低模塊間的耦合度,有利于未來的可操作性和可維護(hù)性.
(3)aop的關(guān)鍵術(shù)語
在AOP(面向切面的編程)中,我們編寫程序時(shí),首先思考要對程序中哪些方法進(jìn)行攔截,攔截到這些方法后又要做哪些業(yè)務(wù)處理。這些關(guān)注過程,我們稱之為:橫切性關(guān)注點(diǎn)。由“橫切性關(guān)注點(diǎn)”引申出以下概念:
Aspect(切面):指橫切性關(guān)注點(diǎn)的抽象即為切面,它與類相似,只是兩者的關(guān)注點(diǎn)不一樣,類是對物體特征的抽象,而切面是橫切性關(guān)注點(diǎn)的抽象。程序里的切面就是AroundAdvise類的實(shí)現(xiàn)部分。
joinpoint(連接點(diǎn)):所謂連接點(diǎn)是指那些被攔截到的點(diǎn),或者方法,字段.
Pointcut(切入點(diǎn)):所謂切入點(diǎn)是指我們要對那些joinpoint(連接點(diǎn))進(jìn)行攔截的定義
Advice(通知):切面必須要完成的事情.通知分為前置通知,后置通知,異常通知,環(huán)繞通知。
Target(目標(biāo)對象):代理的目標(biāo)對象
AOP代理(AOPproxy):由AOP框架在將通知應(yīng)用于目標(biāo)對象后創(chuàng)建的對象。