9得票1回答
ZF2服务定位器和依赖注入

Zend的专业人士和许多博客作者都推荐ZF2中的新服务定位器/管理器,而不是其内置依赖注入系统。 我的问题是,是否可以/方便地将模拟对象注入到服务中?我已经看到一些在模块的PHPUnit引导程序中做这个操作的略显笨拙的尝试;但是否有一种使用此服务系统的方式,像ZF1 + Yadif那样干净、...

8得票1回答
依赖注入,将“可注入”的对象(服务)注入到一个可实例化的对象(实体)中。

编程时,我们应该能够识别出两大类对象: 可注入对象 可实例化对象 http://www.loosecouplings.com/2011/01/how-to-write-testable-code-overview.html http://misko.hevery.com/2008/0...

8得票2回答
单例模式 vs 服务定位器

使用服务定位器或单例模式的优缺点是什么?我已经了解到单例模式不好,但我想知道使用服务定位器是否通常是更好的做法。

8得票2回答
根据请求参数在运行时创建一个基于EF Core的DbContext

背景 我们正在使用ASP.Net Core和Entity Framework Core 2.2构建一个Web应用程序。 我们连接到遗留数据库。设置是有16个数据库,所有这些数据库具有完全相同的模式,保存不同的上下文数据。我们无法更改此设置。 我们需要根据请求参数在运行时连接到特定的数据库...

8得票2回答
在Windows客户端(WPF)应用程序中实现依赖注入的正确方法

我习惯在Web应用程序中使用IoC/DI - 主要是Ninject与MVC3一起使用。我的控制器已经为我创建,所有依赖项都已就位,包括子依赖项等。 然而,在厚客户端应用程序中情况不同。我必须创建自己的对象,或者我必须回到服务定位器样式的方法,其中我通过某个接口(可能是为了可测试性)要求内核给...

8得票2回答
使用Unity注册抽象类并解析派生类

我有以下代码 public abstract class A { public abstract string MethodA(); } public class B : A { public override string MethodA() { ...

8得票2回答
在ZF2中如何随处获取服务定位器

根据这篇文章:http://www.maltblue.com/tutorial/zend-framework-2-servicemanager,ServiceManager是“简单的应用程序注册表,提供对象”。因此,我认为它应该是一个单例,我们可以在应用程序的任何地方访问它。但是,在Servi...

8得票2回答
在ASP.NET MVC控制器中采用构造函数注入的IoC是否会浪费资源?

我不确定是不是只有我这样想,但我觉得在ASP.NET MVC控制器中使用的构造函数注入会导致不必要的资源消耗。 在创建控制器时,仍然需要创建对于特定Web请求未被使用的组件。 就像口渴时买了牛奶和果汁,但只喝了牛奶,却把果汁扔掉了。 请看以下构造函数注入和服务定位器示例以说明我的担忧。 ...

7得票3回答
库项目中构造函数参数的默认值

我正在编写一个库,为其消费者提供一组公共类型。 我希望让该库中的类型支持依赖注入。这意味着每个类都需要通过构造函数来指定正在初始化对象的每个依赖项。同时,我还希望该库遵循约定优于配置的原则。这意味着如果使用者想要默认行为,他可以使用无参数的构造函数,对象将会自动构造依赖项。 例如(C#):...

7得票3回答
依赖注入 - 与数据传输对象(DTO)一起使用?

考虑下面的代码(已经简化)。我有一个服务类,它返回一个特定DTO对象列表,每个对象都实现自己的特定接口。在实际代码中,这些通过迭代数据集进行填充,因为我正在使用遗留代码。 问题: 1. 如何在不newing它们或使用Service Locator反模式的情况下创建/使用DTO? 在组合根中...