|
文章主要和大家講解開發(fā)應(yīng)用系統(tǒng)時(shí)在.NET語言中關(guān)于AOP 的實(shí)現(xiàn)。LogASPect完成的功能主要是將Advice與業(yè)務(wù)對(duì)象的方法建立映射,并將其添加到Advice集合中。由于我們?cè)贏OP實(shí)現(xiàn)中,利用了xml配置文件來配置PointCut,因此對(duì)于所有ASPect而言,這些操作都是相同的,只要定義了正確的配置文件,將其讀入即可。對(duì)于ASPect的SyncProcessMessage(),由于攔截和織入的方法是一樣的,不同的只是Advice的邏輯而已,因此在所有ASPect的公共基類中已經(jīng)提供了默認(rèn)的實(shí)現(xiàn):
public class LogASPect:ASPect
{
public LogASPect(IMessageSink nextSink):base(nextSink)
{}
}
然后定義正確的配置文件:
<ASPect value ="LogAOP">
<advice type="before" assembly=" AOP.Advice" class="AOP.Advice.LogAdvice">
<pointcut>ADD</pointcut>
<pointcut>SUBSTRACT</pointcut>
</advice>
<advice type="after" assembly=" AOP.Advice" class="AOP.Advice.LogAdvice">
<pointcut>ADD</pointcut>
<pointcut>SUBSTRACT</pointcut>
</advice>
</ASPect>
NET技術(shù):.Net語言中關(guān)于AOP 的實(shí)現(xiàn)詳解,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。