2010-11-06 171 views

回答

0

有很多用於.NET的AOP-ish解決方案 - PostSharpUnity InterceptionSpring.NET AOPLOOM.NET僅舉幾例。

它們在編織方式上有所不同(將方面應用於基本代碼) - 通常它可以在IL或運行時完成。它們在語法,能力,創建/獲取對象的方式,性能,學習曲線等方面也有所不同。您必須決定什麼對您很重要,然後我們可以提出任何解決方案。

我首先建議您閱讀PostSharp網站上的「AOP on .NET」文章。

1

如果您正在尋找一個輕量級的AOP工具,那麼有一篇文章「使用動態裝飾器添加對象到對象」(http://www.codeproject.com/KB/architecture/aspectddecorator.aspx)。它薄而靈活。

它描述了一種在運行時將對象添加到對象而不是在設計時向類添加對象的方法。這種方法的優點是,您可以決定在使用對象時是否需要某個方面。

今天大多數的AOP工具都在類設計階段定義了課程級別的方面。而當你使用類的對象時,你沒有靈活性。