2009-10-07 59 views
8

在我使用的各種項目中,我們不得不使用一些AOP或依賴注入框架。最好的面向方面的框架功能/生成性能.net

我們使用了Enterprise LIbrary,Unity和PostSharp。

現在,當涉及到靈活性時,Postsharp是我的最佳選擇,我瞭解如何生成我的方面。

唯一的問題是安裝PostSharp後所需的編譯時間。我的開發人員不願意花時間徵稅,即使在PostSharp提供的所有神性方面。

所以我的問題是:你會建議什麼AOP框架的快速構建時間和偉大的功能

謝謝你,你的答案是極大的讚賞,

帕特里克

回答

7

PostSharp是一個基本上全功能的靜態編織器。這意味着編織過程是在編譯過程中進行的,也就是編譯後的步驟。當然,這可能需要一些時間。 (請務必閱讀Gael公告runtime performance improvementsbuild time performance improvements將隨2.0版一起提供)

如果您不想要任何編譯時間開銷,那麼只有一個解決方案:使用動態編織器。在.NET中,有幾個攔截框架,如Castle.DynamicProxyLinfu.DynamicProxy。他們在運行時生成代理。請注意,這些框架不能像PostSharp這樣的靜態AOP框架,也可能在運行時效率較低。很多時候,IoC框架提供動態攔截能力(Spring.NETUnityWindsor等)

其他的一個解決方案是看混合編織,僅編織在生成過程中的連接點,以靜態方式,然後允許您在運行時動態應用方面。 Linfu.AOP,它使用Mono.Cecil作爲後端,就像那樣工作。

0

Spring.NET不使用織布,它是基於一個非常穩定的Java AOP框架。 Here的項目地址。