【发布时间】:2009-03-28 22:48:03
【问题描述】:
我正在启动一个新的 Winforms 应用程序,并且打算使用 IoC/DI 框架(可能是 Ninject,但我也在考虑 StructureMap 和 LinFu)。
似乎几乎每个使用 IoC/DI 的人都在基于 Web 的环境中这样做,并且几乎没有发现将 Winforms 与它一起使用。
我想知道是否有人将 IoC/DI 与 Winforms 一起使用,以及您用于处理 Winforms 相关问题的方法(例如,您如何使容器在应用程序的各个部分中可用,您使用用于实例化表单等的框架。)
如果有人知道任何使用 IoC/DI 的基于 Winforms 的开源项目(不管是哪个框架,我都应该能够翻译概念),我也想要这些链接。
编辑:
人们不再编写智能客户端了吗?
编辑:
如果您能指出一些在 Winforms 甚至控制台类型应用程序中使用 IoC/DI 的真实代码(即不基于 Web 的东西),我将不胜感激。
编辑:
我一直在使用 Ninject,发现如果您指定 IKernel 构造函数参数,Ninject 会很高兴地注入其通用内核接口的实例。这一直很有效,但我仍然想听听人们使用的其他方法。
【问题讨论】:
-
jikes 我有很多关于 .net 的知识要学习。我什至不明白这个问题。
-
其实这些概念在Java中已经普及了。而且它本身与 .NET 无关,我只是在 .NET 中使用这些技术
-
您是否找到了有关如何通过应用程序访问容器的最佳实践?或者这就是最后一次编辑的内容?这是否意味着我可以只给需要它的类一个
IKernel参数,而 Ninject 会做剩下的事情(即使在另一个子项目中)?
标签: c# winforms dependency-injection inversion-of-control