gpt4 book ai didi

c# - Typemock 和 Dependency Injection,还是用接口(interface)?

转载 作者:行者123 更新时间:2023-11-30 12:37:12 24 4
gpt4 key购买 nike

我在 DI 中看到了一些好的设计好处,而不仅仅是好的可测试性设计。所以即使我有 Typemock 并且可以在没有 IOC 的情况下进行单元测试,我仍然更喜欢构造函数 DI。我认为这是快速发现类依赖关系的好方法。

现在我想知道我是否应该继续使用接口(interface)作为构造函数中的类型参数。使用 Resharper 可以很容易地创建它们,但它仍然是我并不真正需要的类型。

我的意思的一个简单例子

public interface IService
{
void Method();
}

public class Service : IService
{
public void Method()
{

}
}

public class ClassThatUsesDI
{
public ClassThatUsesDI(IService service) **or** (Service service)
{

}
}

你有什么想法?

最佳答案

使用接口(interface),您可以选择根据配置替换运行时使用的实际类型。您也可以对类执行此操作,如果您从它们继承,但仅使用接口(interface)更容易。

我的建议是继续使用界面。

老实说,我以相反的方式编写我的服务。首先我更新接口(interface),因为那时我所处的“世界”更加有限,让我更多地思考我在接口(interface)中真正可以做什么,然后我更新具体类型。

关于c# - Typemock 和 Dependency Injection,还是用接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1613376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com