參加IoC最近的一個Alt.NET組後,我開始考慮可用的工具以及它們如何工作。 StructureMap
特別使用屬性和引導程序概念將IThing
的請求映射到ConcreteThing
。對於我來說,屬性會自動拋出標誌,反射或IL注入正在進行。有沒有人知道它的工作原理(對於StructureMap
或其他IoC工具)以及相關開銷可能是運行時還是編譯時?與StructureMap等IoC容器相關的開銷成本是多少?
3
A
回答
1
對於其他IoC工具包,我不能多說,但我使用Spring.Net,並發現在啓動時會有一次性的初始性能損失。容器配置完成後,應用程序不受影響。
0
他們主要的問題是代碼變得很難理解。如果過度使用IoC,它可能會變成純粹的神奇。另一個問題是性能。在大多數情況下,性能損失並不明顯。但是當你通過IoC容器開始創建大部分對象時,它可能突然降到海平面以下。
+0
性能損失有多大?你測量了什麼? – Rookian 2010-07-23 20:22:45
1
我使用CastleProject的Windsor,並發現它在減少依賴方面非常有用。我還沒有注意到性能問題,但我發現的一件事是配置可能會有點麻煩。爲了幫助這方面,我開始看看Binsor,這是一個寫在溫哥華的DSL的DSL。
另一件需要注意的事情是,當瀏覽代碼時,你將無法訪問將在運行時執行的代碼。
0
我建立了一個非常輕便,基本IOC,在這裏:
http://blogs.microsoft.co.il/blogs/shay/archive/2008/09/30/building-custom-object-mapper.aspx
這不是你提到的庫的選擇,但如果所有你需要的是通過給它的接口它可能解決一個類型成爲完美的解決方案。
我不處理實例的類型(單身,暫時的,線程,池......),所有的對象將被實例化作爲單身,你把它想:
IRepository _repository = ObjectFactory.BuildFactory<IRepository>();
吉文
相關問題
- 1. 與Android片段相關的開銷多少?
- 2. 與MVC3一起使用IoC容器的性能開銷
- 3. BTrace的開銷是多少
- 4. StructureMap錯誤202設置IOC容器
- 5. 與HTTP相比,使用HTTPS的開銷是多少?
- 6. IOC(StructureMap)
- 7. MEF缺少與IoC容器相同的東西嗎?
- 8. 與Geforce相比,Tesla的內核開銷少了多少?
- 9. SQL Server中sql_variant列開銷的字節成本是多少?
- 10. 內幕等IoC容器
- 11. Java IoC容器與Autofac最相似
- 12. 配置Structuremap IOC
- 13. 與MVC3中的html.partial調用中的html.action調用相關的成本是多少?
- 14. 巨大功能的開銷是多少?
- 15. D中屬性的開銷是多少?
- 16. Castle Active Record的開銷是多少?
- 17. 與類對象相關的Javascript開銷
- 18. 多少表開銷太多?
- 19. 在SQLite中讀取行與列的相對成本是多少?
- 20. 與實例化Web引用代理類關聯的開銷是多少?
- 21. 多彈簧IoC容器
- 22. @synchronized(self)有多少開銷?
- 23. #define的成本是多少?
- 24. iPhone視圖控制器層次結構的開銷是多少?
- 25. 與在Sql Server上執行的.NET存儲過程相關的開銷是多少?
- 26. 減少查詢的開銷獲取相關領域的時候
- 27. StructureMap子容器
- 28. 關於DI和IoC容器的問題
- 29. 有沒有辦法減少與out-proc COM調用相關的開銷?
- 30. StructureMap(或任何IoC)和WCF
感謝。 ..我其實沒有聽說過Spring.Net,你喜歡它嗎? – 2008-09-12 00:29:11