参加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. 与HTTP相比,使用HTTPS的开销是多少?
- 4. StructureMap错误202设置IOC容器
- 5. 与Geforce相比,Tesla的内核开销少了多少?
- 6. MEF缺少与IoC容器相同的东西吗?
- 7. SQL Server中sql_variant列开销的字节成本是多少?
- 8. IOC(StructureMap)
- 9. 内幕等IoC容器
- 10. Java IoC容器与Autofac最相似
- 11. 配置Structuremap IOC
- 12. Castle Active Record的开销是多少?
- 13. 巨大功能的开销是多少?
- 14. 多少表开销太多?
- 15. 在SQLite中读取行与列的相对成本是多少?
- 16. 与实例化Web引用代理类关联的开销是多少?
- 17. 多弹簧IoC容器
- 18. @synchronized(self)有多少开销?
- 19. #define的成本是多少?
- 20. 与在Sql Server上执行的.NET存储过程相关的开销是多少?
- 21. 关于DI和IoC容器的问题
- 22. 有没有办法减少与out-proc COM调用相关的开销?
- 23. 与多线程应用程序相比,多进程系统的预期开销是多少?
- 24. 多少开销导致在常规中生成许多函数
- 25. IOC/Autofac容器
- 26. Biztalk IOC容器
- 27. StructureMap(或任何IoC)和WCF
- 28. IoC容器。注入容器
- 29. 与BatchNormalization图层相关的参数数量是多少?
- 30. StructureMap处理容器
感谢。 ..我其实没有听说过Spring.Net,你喜欢它吗? – 2008-09-12 00:29:11