Dot-Net
各種 .NET 依賴注入框架的比較(優缺點)
我正在為新的 .NET 應用程序選擇依賴注入框架。那裡有大量令人眼花繚亂的框架,包括 Ninject、StructureMap、Unity、Castle Windsor、Spring.NET 等等。但是,我從不相信任何一種工具絕對比其他任何工具更好或更差;它總是取決於上下文和約束。
考慮到這一點,任何人都可以提供各種 .NET 依賴注入框架的優缺點嗎?小項目、大項目等哪個更適合?對於哪種類型的項目、架構和開發團隊,它們各自做得最好還是不太好?那些使用過其中幾個框架的人的任何智慧都會非常有幫助……
這是一個很好的性能基準:
實際上已經有兩個全面的比較:
- 這一個列出了所有添加簡短說明的強項:http ://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx
- 這實際上是一個由 4 部分組成的文章系列:http ://richnewman.wordpress.com/2010/04/29/a-comparison-of-some-dependency-injection-frameworks-part-1-introduction-and-motivation /
我個人更喜歡 Ninject,因為它更傾向於約定而不是配置。它還利用了 lambda 表達式和其他 C# 3.0 好東西(以 .net 2.0 為代價),這使得它的語法非常清晰。