-
3 votesanswersviews
依赖性解决作为一个单独的项目..如何?
我正在使用asp.net mvc创建一个新的应用程序,我使用munq IOC容器作为我的依赖注入..问题是我想创建一个新的依赖项解决项目,我可以注册mvc项目的所有控制器和基础设施项目的存储库..我必须在我的mvc应用程序中添加依赖性解析项目作为参考,因为这是起点...但问题是为了在这个单独的应用程序中注册控制器我需要参考mvc在依赖关系解决方案项目本身......但这样的事情是不可能的,因为这会... -
17 votesanswersviews
Simple Injector是否支持MVC 4 ASP.NET Web API?
我是Simple Injector IOC容器的新手 . 我将开始在一个项目中工作,该项目需要使用MVC 4 ASP.NET Web API的多租户ASP.NET MVC实现 . 我的问题是:Simple injector支持MVC 4 ASP.NET Web API吗?读取像this这样的简单注入器文档会引用MVC 3,我想知道MVC 4是否也受支持 . -
1 votesanswersviews
如何在ASP.NET MVC控制器中访问Simple Injector容器?
我想在Simple Injector中尝试一下Hybrid Lifestyle . 我希望有一个可选的显式定义的异步范围,如果没有定义异步范围,则回退到Web请求范围 . 我打算在ASP.NET MVC控制器中使用它,通常我想解决最外层Web请求范围的实例,但在某些情况下,我想在控制器的操作中显式创建一个异步范围并缩短范围内的实例的生活方式 . 要在控制器的操作中显式创建Async Scope,我... -
1 votesanswersviews
如何正确使用Symfony DI服务容器?
我正在重构一些soap服务,其中静态方法用于记录和调用db实例 . 它是一个定制的代码,而不是框架 . Db是单身,所以它有对象调用: Db->getInstance()->prepare("some pepared statement"); 和Logger是正常的静态方法: Logger::log("Some log massage!");... -
7 votesanswersviews
使用IoC和依赖注入,如何在不违反Open-Closed原则的情况下使用新的实现层包装代码?
我试图弄清楚如何在实践中做到这一点,以免违反开放封闭原则 . 假设我有一个名为HttpFileDownloader的类,它有一个函数,它接受一个url并下载一个文件,将html作为字符串返回 . 这个类实现了一个只有一个函数的IFileDownloader接口 . 所以在我的代码中我都引用了IFileDownloader接口,每当IFileDownloader被解析时,我的IoC容器都会返回一个H... -
425 votesanswersviews
自动装配如何在Spring工作?
我对inversion of control( IoC )在 Spring 中的工作方式感到有些困惑 . Say I have a service class called UserServiceImpl that implements UserService interface. 怎么会 @Autowired ? 在我的 Controllers 中,我将如何 instantiate 这个服务的 ... -
1 votesanswersviews
ASP.NET Core 和 ViewModelFactory
您好,我正在尝试实现 ViewModelFactory“模式”,我想知道实现它的最佳方法是什么,考虑到当前 IoC 容器的限制。 public class UserCreateViewModelFactory { private readonly DbContext db; public UserCreateViewModelFactory(DbContext db){ th... -
260 votesanswersviews
如何避免依赖注入构造函数的疯狂?
我发现我的构造函数开始看起来像这样: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) 随着参数列表的不断增加 . 由于“容器”是我的依赖注入容器,为什么我不能这样做: public MyClass(Container con) 每个 class ?有什么缺点?如果我这样做,感觉我正在使用一个美化的静电 ... -
1 votesanswersviews
如何为ASP.Net MVC项目创建启动器项目
我是IoC和依赖注入和洋葱架构的新手 . 我正在尝试根据洋葱架构社区的指南和最佳实践创建我的解决方案架构 . 在我的VS解决方案中,我有一些针对域核心的项目,一些针对基础架构,一些针对用户界面的ASP.NET MVC . 现在我想在解决方案中添加一个IoC容器 . 我知道最好的做法是添加一个引导程序或启动程序项目,它引用了IoC容器(在我的案例中为Simple Injector)和解决方案中的所有... -
4 votesanswersviews
使用MVC进行依赖注入和内存中集成测试
ASP.NET Web API允许内存中集成测试,其中测试中的应用程序和测试夹具都在同一个应用程序域中 . 这使得测试夹具可以很容易地修改IOC容器绑定,以便在集成测试期间伪造各种对象 . 相比之下,ASP.NET MVC并非旨在允许内存中集成测试 . 史蒂夫桑德森设计了他的MVC Integration Test Framework来提供这种能力 . 但是,似乎框架导致MVC应用程序在与测试夹具... -
1 votesanswersviews
覆盖IOC注册以用于集成测试
所以我想我可能还没有完全理解你如何使用IOC容器进行集成测试 . 我们假设我有几个课程: public class EmailComposer : IComposer { public EmailComposer(IEmailFormatter formatter) { ... } ... public string Write(string... -
1 votesanswersviews
Autofac生命周期范围注册共享,集成测试设置
我的情况很常见,但我找不到答案 . 我有集成测试,在每个设置上都会模拟一些服务 . 我必须更新Autuofac容器以获取构造函数注入那些模拟 . 所以基本上我有所有应用程序注册的主容器,并且需要为每个测试场景为那些被覆盖的服务创建一些子容器/生命周期范围 . 我已经注册了自定义ILifetimeScopeProvider public class TestLifetimeScopeProvider... -
598 votesanswersviews
为什么我需要一个IoC容器而不是直接的DI代码? [关闭]
我一直在使用Dependency Injection(DI)一段时间,在构造函数,属性或方法中注入 . 我从未觉得需要使用Inversion of Control(IoC)容器 . 但是,我读的越多,我觉得社区使用IoC容器的压力就越大 . 我使用.NET容器,如StructureMap,NInject,Unity和Funq . 我仍然没有看到IoC容器如何使我的代码受益/改进 . 我也害怕在工作... -
0 votesanswersviews
使用构造函数参数将接口绑定到多个具体实现
我正在尝试进行上下文绑定,但无法将具体的实现接口绑定为构造函数参数 . Ninject版本:3.2.0.0 我的结构如下: INotifier 1. XNotifier 2. YNotifier IPublisher 1. APublisher 2. BPublisher 其中XNotifier和YNotifier采用IPublisher类型的构造函数参数 . 这是我的绑定: Bind<I... -
4 votesanswersviews
当具体类型派生自抽象基类时,Ninject无法解析接口类型
我有一个Ninject尝试解决接口类型的问题,其中具体类型派生自实现接口的抽象基类 . EDIT: This is on Windows Mobile using .NET CF. 我的特殊问题涉及演示者和视图,所以我坚持在这个例子而不是foos和bar . 我想为演示者和视图注入工厂,以允许在UI视图堆栈深处创建这些实例 . 下面我省略了所有错误检查以获得更好的可读性 . 我的工厂界面: pub... -
49 votesanswersviews
“控制反转”,“依赖倒置”和“解耦”之间的区别
我正在阅读关于依赖倒置和解耦的理论,我看不出两者之间的区别 . Dependency inversion 讨论了解耦功能组件,以便更高级别的组件不依赖于更低级别的组件 . Decoupling 谈论同样的事情以及如何实现它 . 但是我们的IoC容器会让事情变得更糟 . 为什么它们不是称为依赖性反转容器或更好的依赖注入容器,因为它们服务于独立组件的运行时耦合? 然后我们有 Inversion of ... -
1 votesanswersviews
导航到其他页面IocContainers和MVVM指示灯
我正在使用MVVM灯制作一个Windows通用10应用程序 . 但是现在我会,如果我点击 ShowWeatherPage 上的某个项目,请导航到 ShowWeatherDetailPage 以获取有关所点击项目的更多详细信息 . 但我不知道我怎么做到这一点 . 你能帮帮我吗? 您可以在下面找到我的代码 . 我使用IocContainers,每个页面都有一个viewmodel,只有命令绑定 . Io... -
62 votesanswersviews
使用Ninject在构造函数中使用其他参数创建实例
我决定开始使用Ninject并面临一个问题 . 说我有以下场景 . 我有一个 IService 接口和2个实现此接口的类 . 而且我还有一个类,它有一个构造函数获取IService和 int . 如何使用Ninject创建此类的实例(我不想硬连接这个int,我想在每次获取实例时都传递它)? 这是一些说明情况的代码: interface IService { void Func(); } ... -
2 votesanswersviews
C# - 使用依赖注入(ninject)而不是工厂模式
我已经阅读了很多关于这个主题的内容,但是无法一直掌握它 . 我试图使用 Ninject.Extensions.Factory 而不是我的工厂根据用户输入创建新对象 . 我想充分利用Ninject功能和IoC概念 . Now the code looks like this: interface IFeatureFactory { IFeature createFeature(int inp... -
1 votesanswersviews
基于ninject约定的绑定在使用不同的命名空间时不起作用
我试图在我的解决方案中保留一个ninject load()方法,并尝试使用基于约定的绑定 . 下面是我的类层次结构 . AccountTypes和PaymentTypes是同一项目中的单独名称空间 . 它们都是公共类和接口 . AccountTypes IAccountTypes AccountTypeA AccountTypeB PaymentTypes IPaymentTy... -
2 votesanswersviews
Spring @Required和@Mandatory注释
这是 BeanClass.java package com.practice.spring; import org.springframework.beans.factory.annotation.Required; import com.apress.springrecipes.sequence.Mandatory; public class BeanClass { privat... -
0 votesanswersviews
构建具有注入服务和数据的类的依赖注入
我正在使用一个使用构造函数注入的IoC容器(例如Castle Windsor) . 我有以下(示例)类来管理产品...... public class ProductDataManager { public ProductDataManager(Product product, IProductDataLoader productDataLoader) { } /... -
46 votesanswersviews
为什么MVC4使用服务定位器反模式?
在阅读了Mark Seemann的"Dependency Injection in .NET"之后,我远离Service Locator,这是一种反模式 . 在阅读the release notes on MVC 4时,我看到: 通过DependencyResolver改进了控制反转(IoC):Web API现在使用MVC依赖解析器实现的服务定位器模式来获取许多不同设施的实例...