切面(Aspect):對(duì)象操作過(guò)程中的截面,也就是某方面的任務(wù),例如事務(wù)、日志。
連接點(diǎn)(JoinPoint):程序運(yùn)行過(guò)程中的某個(gè)階段點(diǎn)。如某個(gè)方法調(diào)用,或者某個(gè)異常被拋出。
處理邏輯(Advice):在某個(gè)連接點(diǎn)所采用的處理邏輯。處理邏輯的調(diào)用模式通常有三種:
i. Around:在連接點(diǎn)前后插入預(yù)處理過(guò)程和后處理過(guò)程。
ii. Before:僅在連接點(diǎn)之前插入預(yù)處理過(guò)程。
iii. After:在連接點(diǎn)之后進(jìn)行處理。
iv. Throw:在連接點(diǎn)拋出異常時(shí)進(jìn)行異常處理。
切點(diǎn)(PointCut):一系列連接點(diǎn)的集合,它指明處理方式(Advice)將在何處被觸發(fā),可以使用正則表達(dá)式表達(dá)。
Advisor:是PointCut和Advice的綜合體,完整描述了一個(gè)advice將會(huì)在pointcut所定義的位置被觸發(fā)。
Introduction:為advised object加上一定的方法或者數(shù)據(jù)成員。與Advice屬于并列的概念,但有著一定的區(qū)別。Advice只是給target附加上其他的功能,使用者甚至可以覺(jué)察不到,但是Introduction則添加了其他的功能,例如給target賦予了lock功能,狀態(tài)等。