inversion-of-control相关内容

什么时候使用IoC是合适的?

我了解IoC容器是什么,并且已经在Structure Map上进行了阅读.该技术似乎很容易使用.我的问题是,使用IoC容器的合适的粒度级别是多少? 我看到以下IoC应用级别: 打破所有对象之间的每个依赖关系-肯定会过分杀伤. 打破所有主要对象之间的依赖关系,例如域对象,支持类和子系统内的组件. 将IoC与Facade结合使用以使用公共接口包装子系统(例如日志记录),然后打破对该接口 ..
发布时间:2020-11-30 05:11:50 其他开发

Smalltalk和IoC

我看到了很多用于.Net和Java的IoC框架.有谁知道为什么没有等效的Smalltalk框架.这比任何其他问题都更是一个哲学问题.我想知道,在Smalltalk的做事方式中是否有某些东西排除了拥有IoC框架的必要性. 解决方案 MVC 发明了在Smalltalk上使用,并且可以说是原始的控制反转框架.尽管它比Java同类产品轻一些,但它具有保存数据的模型的基本概念,即一种视图,它根据控制 ..
发布时间:2020-11-30 05:11:47 其他开发

单元测试IoC注册?

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

通过IoC容器进行WCF服务实例化

是否可以使WCF运行时通过IoC容器而不是通过其通常的过程实例化服务? (此外,考虑到该类型的容器的生活方式配置与服务的InstanceContextBehavior之间可能存在冲突,这种方法会是一个糟糕的主意吗?) 我知道我可能完全是在问一个错误的问题.我的目标是通过容器提供的方法拦截工具进行AOP方法(例如,方法进入/退出日志记录,性能计数和调用限制,所有这些都涉及我不想插入到我的服务实 ..
发布时间:2020-11-30 05:11:38 其他开发

Unity-为同一接口注入不同的类

我有一个接口:IFoo 实现该接口的两个类:FooOne和FooTwo 并且两个类ClassOne和ClassTwo在构造函数中接收一个IFoo参数. 如何配置统一性,以便ClassOne仅使用一个容器接收FooOne实例,而ClassTwo接收FooTwo? 我无法在运行时执行此操作,因此它必须位于配置文件中. 解决方案 看看对于更具可读性的配置文件,您应该为IFoo,F ..
发布时间:2020-11-30 05:10:34 C#/.NET

Unity(代替温莎城堡)有可能吗?

此博客文章显示了一种方法用Castle Windsor和NSubstitute实现自动模拟. 我不知道或使用温莎城堡,但我使用Unity和NSubstitute. 有没有办法使用Unity来显示他的内容? 以下是该帖子的相关内容: 首先,在Windsor中注册一个ILazyComponentLoader: var c = new WindsorContainer(); ..
发布时间:2020-11-30 05:10:31 其他开发

团结不需要任何登记就能使事情变得轻松吗?

我正在观看Mike Tautly关于Prism的精彩介绍.一切都说得通,但是在第六个视频中我有些困惑. 他让他的视图类的构造函数采用ViewModel的参数.然后他说团结将为我们填充(即构建它). 过去,他不得不注册这种东西(即,将MyyClass注册到MyClass).但是他没有为ViewModel做到这一点. 我能看到的唯一区别是对ViewModel的依赖不是接口,而是直接类 ..
发布时间:2020-11-30 05:09:29 其他开发

Unity将异常包装到ResolutionFailedException.如何避免?

我想知道,是否有可能问Unity“在解决时不要包装任何用户异常"? 真的,为什么Unity将包装包装到ResolutionFailedException?它正在改变“建筑服务合同",恕我直言,使用统一对象初始化的事实应该是透明的,这意味着如果客户端从“新"运算符等待IOException例如,即使使用Unity创建了对象,也应该将其展开. > 其他IoC容器的行为是否相同? 解决方案 ..
发布时间:2020-11-30 05:09:25 C#/.NET

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

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

什么是控制反转(IoC)?

有人可以指导我一些有关控制反转(IoC)的基础教程吗? (最好是.net/c#). 我需要一些动手操作的代码才能绕开它:) 解决方案 在大多数应用中,IOC(即控制权倒置)正在将通过代码的路径从UI转换为数据库.这不是一个完整的答案,但这是让您深入了解这一概念的最简单方法之一. 如果您想学习IOC,请进入TDD,因为一旦您求反,您会发现设置测试要容易得多. 示例: ..
发布时间:2020-11-30 05:08:12 其他开发

在C#控制台应用程序中正确使用Autofac

我是使用Autofac的新手,因此我为菜鸟问题表示歉意. 我阅读了Internet上的每本手册,解释了使用Autofac(或其他任何工具,如Structuremap,Unity等)时的基本知识.但是我发现的所有示例都是基础知识.我需要知道如何在代码中更深入地实现Autofac.让我尝试解释一下这个示例,一个控制台应用程序. class Program { static void Ma ..
发布时间:2020-11-30 05:08:08 C#/.NET

Unity框架入门

有人可以推荐一些很好的资源来开始使用 Unity框架吗?我已经从 Codeplex 下载了源代码并进行了编译.因此,现在我有了一组已编译的二进制文件,下一步该怎么做?我了解控制反转的原理,但对Unity框架的具体知识了解不足. 我已经从Codeplex下载了Unity文档,但是它似乎是针对已经对框架有很好的了解的用户的. 我真正要寻找的是一些关于Unity的好的“入门"类型指南,或者也 ..
发布时间:2020-11-30 05:08:05 其他开发

IOC容器的最佳做法

我正在使用Unity IOC容器,我只是想知道什么是访问多个类的容器的最佳方法. 每个类都应该有一个IUnityContainer成员,然后通过构造函数将容器传递进来吗?应该有一个带有IOC容器的单例课程吗? asp.net开发如何? 有人可以指引我正确的方向吗?谢谢. 解决方案 将IOC容器放在流程的最高级别/入口点,并使用它在其下的所有内容中注入依赖项. ..
发布时间:2020-11-30 05:07:55 C#/.NET

反对控制容器倒置的争论

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