-
215 votesanswersviews
依赖注入(DI)“友好”库
我正在思考一个C#库的设计,它将有几个不同的高级函数 . 当然,这些高级功能将尽可能使用SOLID类设计原则来实现 . 因此,可能会有消费者定期直接使用的类,以及那些更常见的"end user"类的依赖关系 . 问题是,设计库的最佳方法是: DI不可知 - 虽然为一个或两个常见的DI库(StructureMap,Ninject等)添加基本"support"... -
4 votesanswersviews
傻瓜的控制反转(IoC /依赖注入)[重复]
可能重复:什么是控制反转? 好的,我是这个网站的新手,我已经看到人们真的愿意提供帮助,所以imma会利用这一点,如果你不介意的话就问另一个问题 . 所以,我发誓很多,我发誓,但是,我似乎无法弄明白 . 世界上有什么反转控制(IoC或依赖注入)?为什么ASP.NET MVC Repository Pattern项目使用它如此之多?最后,“容器”是什么意思,当他们说“注入我的控制器”时? 我知道这... -
4 votesanswersviews
依赖注入和控制反转[关闭]
我正在读一本书Microsoft .NET: Architecting Applications for the Enterprise . 在第3章(设计原则和模式)中,该书指出: 控制反转(IOC)是DIP的一种应用,它指的是通用代码控制更具体和外部组件的执行的情况 . 我不同意 . 我认为DIP是IOC的一个应用程序 . 在Martin Fowler的文章_1568817中,他说: 结果... -
4 votesanswersviews
Spring 天自动装配的优势是什么?
自动装配的优势究竟是什么? Spring 天自动装配的一个例子就像 public class TestClass { testMethod() { // ..... }; } public class MainClass { public static void main(String[] args) { ApplicationContex... -
12 votesanswersviews
服务定位器,依赖注入(和容器)和控制反转
我已经编程了一段时间但从未对理解每个概念的含义感兴趣,我可能正在使用各种编程概念,但却不知道它 . Service Locator :对我来说,是指通过减少代码量来加快开发速度的快捷方式记录 . 一个问题是:可能Locator仅引用名称空间/类,或者我可以拥有变量注册表? 以下是我对它的理解: $locator = new ServiceLocator() $locator->set('ap... -
0 votesanswersviews
Laravel 4和Sentry 2扩展了哨兵课程
在Sentry 2中尝试扩展哨兵课时遇到了一些问题 . 这就是我所做的以及我想要做的事情: 创建了一个新的外观: namespace pusers; use Illuminate\Support\Facades\Facade; class ADSentryFacade extends Facade { /** * Get the registered name of the... -
517 votesanswersviews
来自实体框架的SqlException - 不允许新事务,因为会话中还有其他线程在运行
我目前收到此错误: System.Data.SqlClient.SqlException:不允许新事务,因为会话中还有其他线程在运行 . 在运行此代码时: public class ProductManager : IProductManager { #region Declare Models private RivWorks.Model.Negotiation.RIV_En... -
0 votesanswersviews
在业务层中反转控制和注入数据层依赖性
我们正在.net / c#中设计一个分层业务应用程序,我们正在尝试按照我们认为合适的方式遵循SOLID原则 . 可测试性在我们的项目中非常重要,为此我们使用Moq . 除了其他方面,我们使用moq来模拟我们的实体框架上下文 . 由于我们测试的主要目标是主业务层(BL)逻辑,因此可以使用数据访问层(DAL)上下文注入业务层类 . 见下面的例子 . 负责加载数据的BL类的示例构造函数 . 此类注入用于... -
2 votesanswersviews
symfony服务容器中的回调参数
我正在使用Symfony的注入容器和Serializer组件,每次都提供具有默认序列化配置的服务 . 特别是使用ObjectNormalizer: <service id="my_bundle.entity_serializer_normalizer" class="Symfony\Component\Serializer\Normalize... -
7 votesanswersviews
如何使用Spring在不遵循Java bean规范的setter中注入对象?
我想一起使用Spring和wx-xmlrpc . 问题是XmlRpcClient有一个不遵循Java Bean规范的setConfig()方法:setter和getter不使用相同的Class . 所以当我有以下context.xml时Spring抱怨: <bean id="xmlRpcClient" class="org.apache.xmlrpc.clien... -
6 votesanswersviews
使用Windows服务手动实现IoC
我是IoC的新手,因此一直关注Jeffery Palermo在http://jeffreypalermo.com/blog/the-onion-architecture-part-1/的帖子中提供的示例以及他在这里托管的书https://github.com/jeffreypalermo/mvc2inaction/tree/master/manuscript/Chapter23 最值得注意的是,我... -
3 votesanswersviews
洋葱架构我们应该将域模型注入表示层吗?
我正在尝试为ASP.Net MVC 5项目实现Onion架构 . 我已经看到了服务应该被注入而不是实例化的意见,即使纠正我,如果我错了,Jeffery Palermo(http://jeffreypalermo.com/blog/the-onion-architecture-part-3/)表达的想法是任何外层应该能够直接调用任何内层 . 所以我的问题是 洋葱建筑能否在没有IOC的情况下工作,... -
5 votesanswersviews
是否可以在OWIN上使用WebAPI实现洋葱架构和DI?
我正在尝试遵循洋葱架构来获取在OWIN / Katana上托管的WebAPI服务 . 我有这样的解决方案结构: DependencyResolution:包含OWIN启动类和IoC设置 WebApi:Web API控制器 基础设施:接口实现 核心:接口 我希望DependencyResolution项目为WebApi项目注入依赖项 . DependencyResolutio... -
6 votesanswersviews
Fluent IOC配置/模块的最佳位置(目前正在尝试Ninject)
我正在努力找到找到我的Ninject配置“模块”(指定类型绑定的地方)的最佳位置 . 我希望我只是错过了一些明显的技巧,因为使用流畅的配置(因此Ninject)开始变成一个交易破坏者: 在一个包含三个独立项目的简单Web堆栈中:Web,BusinessLogic,DataAccess . 我不希望Web层必须直接引用DataAccess层,但我无法看到解决方法,因为: 如果我把 DataAcc... -
1 votesanswersviews
南希Ninject模块构建
我正在尝试使用Ninject作为IoC容器来测试我的Nancy模块 . 我的问题是我似乎无法让Nancy使用我的IoC绑定来解析NancyModule类型 . 我正在使用最新的Nancy on Nuget,最新的Nancy.Bootstrap.Ninject源自最新的Ninject . 我的测试设置如下: [TestFixtureSetUp] public virtual void Cla... -
2 votesanswersviews
依赖注入.NET Core - InvalidOperationException
我正在学习.net核心,我正在尝试在startup.cs中使用IServiceCollection来解决我的依赖关系 . 我正在我的控制器中注入一个depdency,并且依赖性被解析为一个也具有注入依赖项的类 . 基本上我得到一个InvalidOperationException,因为它无法激活依赖项 . 这是我的堆栈跟踪: InvalidOperationException: Unable to... -
3 votesanswersviews
哪些依赖注入框架最适合ASP.NET MVC 4? [关闭]
我是Dependency Injection的新手,并致力于在ASP.NET MVC 4中开发的项目 . 因此,我遇到了依赖注入的使用,并且很想知道哪些框架具有良好的性能和对ASP.NET MVC 4的支持 . 我正在使用Repository Pattern,UnitOfWork和Service Layer作为业务逻辑创建一个多层架构 . 所以,我想要依赖注入 . 到目前为止我对其他要求没有太多想... -
6 votesanswersviews
如何使用Automapper进行统一依赖注入?
我计划将Automapper与ASP.NET MVC解决方案和Unity DI一起使用 . 在automapper上发布的关于如何使用的视频非常陈旧,并没有显示映射器如何与依赖注入一起使用 . stackoverflow上的大多数示例也使用Mapper.CreateMap()方法,现在不推荐使用它 . 自动化指南说 获得类型后,可以使用MapperConfiguration实例和CreateM... -
11 votesanswersviews
spring 自动装配和原型范围
我有一个名为Bar的类,带有以下注释: @Configurable(autowire = Autowire.BY_TYPE) 在私有成员上,我有以下注释: @Autowired(required = true) private Foo foo; 在spring配置中,我有一个类Foo的bean . 如果使用 scope="prototype" 定义bean,则它不起作用,我得... -
170 votesanswersviews
我是否需要NodeJS中的依赖注入,或者如何处理...?
我目前正在使用nodejs创建一些实验项目 . 我已经用Spring编写了很多Java EE Web应用程序,并且很欣赏那里的依赖注入的简易性 . 现在我很好奇:如何使用节点进行依赖注入?或者:我甚至需要它吗?是否有替换概念,因为编程风格不同? 我说的是简单的事情,比如分享数据库连接对象,到目前为止,但我还没有找到满足我的解决方案 . -
2 votesanswersviews
你如何看待IOC错误在哪里?
因此,我在Visual Studio中创建了一个新的ASP.NET Core项目,并进行必要的更新以使其在beta5上运行 . 我可以打开一些页面但是当我去AccountController提供的任何服务时,我得到以下异常 处理请求时发生未处理的异常 . MissingMethodException:没有为此对象定义的无参数构造函数 . System.RuntimeTypeHandle.Cr... -
360 votesanswersviews
哪些.NET依赖注入框架值得研究? [关闭]
哪些C#/ .NET依赖注入框架值得研究?你能说出他们的复杂性和速度 . -
260 votesanswersviews
如何避免依赖注入构造函数的疯狂?
我发现我的构造函数开始看起来像这样: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) 随着参数列表的不断增加 . 由于“容器”是我的依赖注入容器,为什么我不能这样做: public MyClass(Container con) 每个 class ?有什么缺点?如果我这样做,感觉我正在使用一个美化的静电 ... -
0 votesanswersviews
使用洋葱架构的Windows服务
我见过的所有洋葱架构示例都在ASP.NET MVC应用程序的上下文中 . 它们倾向于避免在UI和服务实现(基础结构)之间直接引用,方法是将IoC设置放在基础结构DLL中,并使用一些魔法(HttpModule或WebActivator)使IIS在正确的时间执行该设置代码 . 就我而言,我正在开发Windows(TopShelf)服务,并且正在努力解决如何使服务控制项目与基础架构项目完全脱离的问题 .... -
3 votesanswersviews
ASP.Net核心使用什么依赖注入框架?
我已经开始涉足 ASP.Net Core ,并发现 Dependency Injection 是ASP.Net Core框架中的一流公民,它内置并可以用于注入各种服务和库 . 我想知道 which Dependency Injection framework 他们正在使用 . 他们的文件在Introduction to Dependency Injection in ASP.NET Core A... -
598 votesanswersviews
为什么我需要一个IoC容器而不是直接的DI代码? [关闭]
我一直在使用Dependency Injection(DI)一段时间,在构造函数,属性或方法中注入 . 我从未觉得需要使用Inversion of Control(IoC)容器 . 但是,我读的越多,我觉得社区使用IoC容器的压力就越大 . 我使用.NET容器,如StructureMap,NInject,Unity和Funq . 我仍然没有看到IoC容器如何使我的代码受益/改进 . 我也害怕在工作... -
0 votesanswersviews
使用Unity与在WinForms应用程序中保存DBContext的类时释放DBContext
我有一个使用Unity for DI的N层WinForms应用程序 . Main的启动如下: static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var container = new UnityConta... -
4 votesanswersviews
使用MVC进行依赖注入和内存中集成测试
ASP.NET Web API允许内存中集成测试,其中测试中的应用程序和测试夹具都在同一个应用程序域中 . 这使得测试夹具可以很容易地修改IOC容器绑定,以便在集成测试期间伪造各种对象 . 相比之下,ASP.NET MVC并非旨在允许内存中集成测试 . 史蒂夫桑德森设计了他的MVC Integration Test Framework来提供这种能力 . 但是,似乎框架导致MVC应用程序在与测试夹具... -
0 votesanswersviews
Ninject(IoC)和具有条件逻辑的工厂的替代品
我遇到了一个我想用Ninject解决的场景,但到目前为止我的工作都没有遇到过这种情况 . WCF服务应用程序 W3C Log Parsing App(过于简单化以用于演示目的) . 由W3CLogItem实现的IW3CLogItem W3CLogItem具有IUrlData类型的公共成员(包含重要数据,但可以是5个具体实现之一,具体取决于它包含的内容) . 决定使用哪个具体实现是基于字符串匹配,其... -
1505 votesanswersviews
什么是控制倒置?
控制反转(或IoC)在第一次遇到时会非常混乱 . 这是什么? 它解决了什么问题? 什么时候合适,什么时候不合适?