草庐IT

Bean-IOC

全部标签

c# - 控制台应用程序的 IOC?

谁能想到一个好的解决方案来将IOC放入控制台应用程序中?目前我们只是使用一个带有以下方法的静态类:publicstaticTResolve(){returndependencyResolver.Resolve();}我希望体验是无缝的,但想不出从控制台应用程序实现这一点的方法。 最佳答案 您必须在某处调用服务定位器(Resolve())。诀窍是让它尽可能远离。对于控制台应用程序,此引导发生在Main()中方法。在那里做,并尽量减少其他地方的Resolve调用,你会很棒。对于大多数依赖项,使用构造函数注入(inject)。

c# - 没有 IoC 或依赖注入(inject)的模拟

有没有一种方法可以在单元测试中使用mock或fakes而不必使用依赖注入(inject)或反转或控制?我发现此语法可与TypeMockIsolator(http://learn.typemock.com/)一起使用。虽然它是一个商业产品,所以我希望其他框架(例如RhinoMocks)会在某个阶段引入这样的语法。///CanmockobjectsWITHOUTDEPENDENCYINJECTION.varhand=Isolate.Fake.Instance();varmouth=Isolate.Fake.Instance();Isolate.Swap.NextInstance().Wit

c# - IOC : Wiring up dependencies on event handlers

我正在构建一个WinForms应用程序,其UI仅包含NotifyIcon及其动态填充的ContextMenuStrip。有一个MainForm将应用程序保存在一起,但它永远不可见。我开始尽可能可靠地构建它(使用Autofac处理对象图)并且对我的成功非常满意,即使与O部分也相处得很好。通过我目前正在实现的扩展,我似乎发现了我的设计中的一个缺陷,需要稍微改造一下;我想知道我需要走的路,但对于如何准确定义依赖关系有点不清楚。如上所述,菜单在启动应用程序后部分动态填充。为此,我定义了一个IToolStripPopulator接口(interface):publicinterfaceITool

C#工厂模式和IoC的区别

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:DependencyInjectionvsFactoryPattern有人能解释一下(用简单的例子)工厂模式和控制反转模式之间的区别吗?最好使用.NET2.0

c# - Workflow Foundation 4 中的依赖注入(inject)/IoC

是否可以在您的工作流事件中使用DI?如果是,怎么做?例如,如果您有这样的事件publicsealedclassMyActivity:CodeActivity{publicMyClassDependency{get;set;}protectedoverridevoidExecute(CodeActivityContextcontext){Dependency.DoSomething();}}如何设置依赖?(我正在使用Spring.Net) 最佳答案 工作流不使用IOC容器。它使用ServiceLocator模式,您可以在其中将依赖项作

c# - 谁能详细地向我解释如何使用 IOC 容器?

我通过参数和构造函数广泛使用依赖注入(inject)。我在这个程度上理解了这个原则,并对此感到满意。在我的大型项目中,我最终注入(inject)了太多依赖项(任何达到两位数的东西都感觉很大-我喜欢术语“通心粉代码”)。因此,我一直在考虑IOC容器。我已经阅读了一些关于它们的文章,到目前为止我还没有看到好处。我可以看到它如何帮助发送相关对象组或一遍又一遍地获取相同的类型。我不确定他们将如何在我的项目中帮助我,我可能有一百多个类实现相同的接口(interface),并且我以不同的顺序使用所有这些类。那么,谁能给我指点一些好的文章,这些文章不仅描述了IOC容器的概念(最好不要特别炒作),而且

c# - 在弹出窗口中获取 IOC 容器

我在WPF应用程序中使用PRISM5。我的应用程序中的ShellView有两个区域,将其视为A和B。区域A包含一个POPUP(PRISM5交互功能用于显示弹出窗口)。当我在View的构造函数中创建弹出View模型的实例时,应用程序正在运行。工作代码publicPopupView(){InitializeComponent();this.DataContext=newPopupViewModel();//Workingcode}但是当我尝试使用依赖注入(inject)创建View模型实例时。应用程序在父View(ViewA)的InitializeComponent();上失败。DI无效代

c# - IoC 框架在 MVC 应用程序中的用途是什么?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我试图理解像StructureMap这样的IoC框架的使用,但我不禁认为这些“设计模式”只是胡说八道,使代码变得更加复杂。让我从一个我认为IoC比较有用的例子开始。我认为IoC在处理MVC框架中Controller类的实例化时很有用。在这种情况下,我正在考虑.NETMVC框架。通常Controller类的实例化是由框架处理的。所以这意味着您不能真正将任何参

c# - 如何解耦 IoC 框架实现

我一直在学习IoC、依赖注入(inject)等,并且很享受这个过程。对我来说,接口(interface)解耦和编程的好处是显而易见的。但是,我真的不喜欢将自己绑定(bind)到Unity或Autofac或Windsor等特定框架-因为我仍在学习并且尚未决定哪个最适合我的目的。那么,我如何围绕Unity之类的东西进行包装,以便以后可以轻松地切换到Windsor?(管他呢)。而且你敢说用另一个注入(inject)第一个;)谢谢!R.附言我将Unity标记为我目前的个人偏好(我只是喜欢Entlib)。 最佳答案 您当然可以通过使用Reso

c# - DI/IoC 容器性能基准比较?

我找到了一些2008年的基准测试结果,用于测试几个顶级.NETDI/IoC容器的性能here.但我一直无法找到任何更新的结果。是否有任何基准可以比较一些大型IoC容器(StructureMap、Unity、Ninject、Autofac、CaSTLeWindsor等)? 最佳答案 我不建议使用性能基准来选择IoC容器。还有很多很多更重要的因素,比如功能集、开发路线图和可维护性等。请注意,在最坏的情况下,您引用的基准测试在超过100万次调用时仅显示出3-4倍的速度差异。在“真实世界”场景中,DI/IoC用于连接依赖项,并且对整体应用程