2013-04-04 15 views
0

這個主題看起來已經被討論過了,但我還有更多的話要說。.NET開源的AOP庫,不受攔截限制

明顯的問題是;我想知道應該爲.NET 4.0企業應用程序準備哪些AOP庫?根據文章What Aspect-Oriented Programming (AOP) libraries for .NET are still actively developed,應選擇PostSharp或Spring.NET或Microsoft的策略注入應用程序塊。但每個人都有問題。

  1. PostSharp:這是最好的但不是開放的。我需要一個來源是開放的。
  2. Spring.NET:這是太沉重,有一定的侷限性像它可以攔截只有那些類,也不是一成不變的,必須是非密封的,屬性和方法必須是虛擬的,等...
  3. 微軟策略注入應用程序塊:根據文章Policy Injection Application Block,這是一個傳統組件,可能會停止由MS支持,並且由於它是通過Unity攔截機制實現的,因此它與Spring.NET具有相同的限制(Alternatives to PostSharp

我遇到帖子Aspect Oriented Programming: learn step by step and roll your own implementation!。我還沒有使用它,但通過閱讀後給了我一個想法,它應該服務於我的目的。我想知道是否有人嘗試過,如果有人建議去嘗試它?

我還有一個問題要問,我曾經使用過Unity的Unity,但它對於AOP來說很酷,但對於我的目的來說,unity並不是一個好的選擇,因此我一定會選擇其他的工具/庫(也許是我上面提到的那個!)。在同一個應用程序中使用Unity和AOP的其他功能是否好,會不會有問題?

任何人都可以幫我嗎?先謝謝你!

+0

爲什麼要開源工具? – 2013-04-07 19:46:49

回答

0

我想你會發現一些不錯的選擇,一旦你排除PostSharp並且也想攔截靜態代碼。

您可能會簽出的一些選項是SheepAspect和Fody,它們都採用了類似PostSharp(後編譯編織)的方法。兩者都非常好,並顯示出承諾,但與PostSharp相比,它們相對年輕。

+0

謝謝Mgroves的回覆。我會看看你的建議。 – Aum 2013-04-08 05:26:46