ioc-container相关内容

单元测试IoC注册?

您是否应该对将组件注册到IoC容器中的代码进行单元测试? 如果是,怎么办? 解决方案 Guice IoC容器,首先是我在没有Guice的情况下使用TDD为某些功能生成了类(这些是单元测试).然后,我使用Guice为该功能创建了集成测试.此时,IoC配置(Guice模块)不完整,因此集成测试将失败.使用TDD,我逐步添加了IoC配置,直到通过集成测试为止.除非通过测试,否则我不会添加任 ..
发布时间:2020-11-30 05:11:41 其他开发

如何在StructureMap的ObjectFactory中处置每个实例对象?

我在项目中使用StructureMap,当应用程序完成运行时,我需要在ObjectFactory内实现IDisposable的所有Singleton实例上调用Dispose()方法. 无论如何我都无法通过StructureMap API来做到这一点. 我的另一种想法是获取对每个实例的引用,然后自己调用它,但是我无法弄清楚如何遍历所有实例. 解决方案 我在另一个问题中找到了答案: ..
发布时间:2020-11-30 05:09:19 C#/.NET

反对控制容器倒置的争论

似乎每个人都在向IoC容器迈进.我已经尝试了一段时间,尽管我不想成为在高速公路上走错路的唯一驾驶员,但它仍然没有通过常识性考验.让我解释一下,如果我的论点有误,请更正/启发我: 我的理解:当组合不同的组件时,IoC容器应该使您的生活更轻松.通过a)构造函数注入,b)setter注入和c)接口注入来完成此操作.然后以编程方式或在容器读取的文件中“连接"这些文件.然后按名称召唤组件,然后在需要时 ..
发布时间:2020-11-30 05:07:50 其他开发

统一处置对象

是否有一种方法可以使Unity在拆解过程中处理注入属性的对象? 背景是我正在开发一个使用ASP.NET MVC 2,Unity和WCF的应用程序.我们已经编写了自己的MVC控制器工厂,该工厂使用unity实例化控制器,并使用控制器的公共属性上的[Dependency]属性注入WCF代理.在页面生命周期结束时,将调用控制器工厂的ReleaseController方法,并且我们将调用IUnity ..
发布时间:2020-11-26 04:15:47 其他开发

IOC容器和IDisposable

向我建议,在使用IOC容器时,我应该对此进行更改: class Foobar: IFoobar, IDisposable {}; 对此: interface IFoobar: IDisposable{}; class Foobar : IFoobar{}; 我想知道这是否可以,还是可以解决一个问题并创建另一个问题.它肯定解决了我非常想这样做的问题: using( IFoo ..
发布时间:2020-11-26 04:06:36 其他开发

Unity / EntLib:将依赖项注入CustomTraceListener

对不起,这是一个非常特殊的主题,因此许多人可能对此并不感兴趣。 :-( 但是,我需要做以下事情: 我有一个应用程序,它提供对某种控制台窗口(这是WPF窗口)的日志记录,这是由于应用程序要求以及因为应用程序即使在这里也需要显得浮华-我们的特殊客户要求这样做,并且每次我们都在谈论它满足) 提供线程不可知的日志记录,我创建了一个接口/实现对“ IGUIController” /“ GU ..
发布时间:2020-10-29 19:05:28 其他开发

我应该封装我的IoC容器吗?

我正在尝试决定是否需要付出额外的努力来封装我的IoC容器。经验告诉我,我应该在我的应用程序和任何第三方组件之间放置一层封装。我只是不知道这是否会导致过度杀伤。 我能想到我可能想要切换容器的情况。例如,我当前的容器不再维护,或者其他容器被证明更轻巧/性能更好,更符合我的需求。如果发生这种情况,那么我可能会需要做很多重新布线。 要清楚,我正在考虑封装注册, 类型的解析。我认为封装分辨率是不 ..
发布时间:2020-10-29 05:51:54 其他开发

如何使用Simple Injector返回基于其父对象的实例?

我们一直在使用温莎城堡作为我们的DI集装箱,但我们正在寻找替代方案。现在,我进入了简单注入器,到目前为止,它的简单性给我留下了深刻的印象,但是现在我遇到的一种情况是,当我们对某些组件使用后期绑定实例化时。 我的第一个问题是,可能吗? 使用温莎(Windsor)就是这样; Container.Register (Component.For() .UsingF ..
发布时间:2020-10-20 21:00:19 C#/.NET

SimpleServiceLocator:为什么单例不支持自动构造函数注入?

我一直在尝试 SimpleServiceLocator ,我很喜欢它,但是有一个我真的很沮丧-您不能对单例使用自动构造函数注入。更糟的是,您甚至无法使用自动构造函数注入来实现其依赖项。您必须手动创建单例对象,所有依赖项,所有依赖项依赖项等。 为什么SimpleServiceLocator是这样设计的? 不是单例应该与常规实例一样,只是在首次请求实例时,该实例将被存储并重用,而不是每次都 ..
发布时间:2020-10-20 21:00:04 C#/.NET

使用Unity进行属性依赖注入的正确方法

我有一个需要依赖注入的类。由于该类已经是另一个抽象的实现,并且其“兄弟”实现可能不共享相同的依赖关系,因此我尝试使用属性注入而不是构造函数注入。 (所有这些类/接口名称仅用于说明目的) 我的 IProvider 抽象: 公共接口IProvider { void ProviderMethod(); } 我的 IProvider 实现(我要注入的IData依 ..
发布时间:2020-10-20 20:50:29 C#/.NET

使用依赖注入时如何避免循环依赖?

我对概念依赖注入还比较陌生,因此我不确定它如何防止循环依赖。假设我关注了项目(示例项目结构可能不好,但请忍受) 项目A: 域层 IRepository 项目B: RepositoryImpl->实现IRepository接口 在这种情况下,项目B将需要引用项目A。但是要设置项目A,让我们例如Unity容器,项目A将需要引用项目B,以便在Unity Config中具有 ..
发布时间:2020-10-20 20:50:27 C#/.NET

创建对象“目录”。用于不可知论的图书馆

我正在开发一个内部库,供我工作的公司中的其他开发人员使用。我正在应用SOLID模式并遵循依赖注入(DI)中所述的最佳做法“友好”库。 我的最终用户将是不同应用程序的开发人员。其中一些是没有DI的复杂的旧版应用程序,而另一些是具有DI和TDD的较新的应用程序。 现在,我试图弄清楚如何称呼这个DI一个旧的ASP.NET Webforms应用程序中的一个友好库,其中没有实现DI,很显然,我不 ..
发布时间:2020-10-20 20:49:24 C#/.NET

DI容器是否需要自己实例化对象才能使用构造函数注入?

或者不是自己创建对象,而是以某种方式 intercept 或挂钩对象创建(例如,由MVC框架实例化的Controller)并传递任何内容他们需要依赖吗? 我意识到在创建对象时他们需要做某事以使用构造函数注入,但是我不清楚容器是否 无论答案是什么,所有的DI容器都这样做吗? 我意识到这个问题对于大多数熟悉StructureMap,Unity,Ninject等工具的人来说可能是显而易 ..
发布时间:2020-10-20 20:44:55 C#/.NET

依赖注入容器PHP

我最近了解了在PHP应用程序中使用依赖注入(DI)的优点。 但是,我仍然不确定如何为依赖项创建容器。以前,我使用框架中的容器,我想了解他如何在后台做事并复制它。 例如: Zend 2的容器。我知道容器使类成为动态的,他不必从一开始就知道它们,他检查他的注册表中是否已经有该类,以及是否有他不是要检查该类是否存在以及构造函数中是否包含什么参数,并将其放入自己的注册表中,以便下次可以从 ..
发布时间:2020-10-20 20:41:54 PHP

引导程序文件的示例?

有人能举个很好的例子,我可以参考。 我似乎在任何地方都找不到,搜索过google但没有运气。 搜索了帮助文件,没有运气。 解决方案 如果您正在搜索一个在应用程序开始时配置容器的类,则可以下载最新的 Prism 拖放并查找UnityBootstrapper类。 请注意,这只是注册运行Prism应用程序所需的服务,因此引导程序将可能需要使用其他容器配置。 ..