<b>前提</b>
引用以下檔案
Microsoft.Practices.ObjectBuilder2.dll
Microsoft.Practices.Unity.dll
Microsoft.Practices.Unity.Configuration.dll
Microsoft.Practices.Unity.Interception.dll
Microsoft.Practices.Unity.Interception.Configuration.dll
Microsoft.Practices.Unity.StaticFactory.dll
本文中的實作類繼承于IOutput接口
<b>實作效果</b>
我有兩個方法可以輸出字元串, 調用IOutput的實作類來輸出的,如:
調用它即在Main函數中
即可,而AOP的作用是通過其它代碼,向op2.Output方法執行前或執行後注入其它執行過程即最後形成的結果可能是:
這裡除了箭頭所指的一句外其它的都是注入進去這個方法的。
<b>定義處理代碼</b>
這裡我們先定義一段處理方法的代碼,Unity規定它是ICallHandler的一個實作
好,下面我們來看看怎麼把MyHandler與IOutput關聯起來,大體有2種方法
<b>1.通過代碼直接關聯</b>
這種實作方式比較“硬”。
它是利用Atrribute來實作這種關聯的,首先,先建一個Attribute。
然後在IOutput的實作中使用如下代碼:
這裡靠此Attribute就将二者關聯了起來
現在執行處寫:
That’s all OK.
<b>2.用配置檔案處理</b>
如果用配置檔案的話就不用Attribute了,是以實作的類如下
這裡不使用屬性來标記了,而使用配置檔案,我們建一個名為Unity.xml的配置檔案(配置檔案長,可以後看):
最後我們來執行,要比第一種方法複雜一點:
<b>OK這時我們看到的結果就是:</b>
代碼下載下傳: