【发布时间】:2017-03-28 20:25:25
【问题描述】:
我有一个 ASP.NET Core 应用程序。该应用程序有几个帮助类可以做一些工作。每个类都有不同的签名方法。我在网上看到很多 .net 核心示例,它们为每个类创建接口,然后使用 DI 框架注册类型。例如
public interface IStorage
{
Task Download(string file);
}
public class Storage
{
public Task Download(string file)
{
}
}
public interface IOcr
{
Task Process();
}
public class Ocr:IOcr
{
public Task Process()
{
}
}
基本上每个接口只有一个类。然后我用 DI 将这些类型注册为
services.AddScoped<IStorage, Storage>();
services.AddScoped<IOcr,Ocr>();
但是我可以在没有接口的情况下注册类型,所以这里的接口看起来是多余的。例如
services.AddScoped<Storage>();
services.AddScoped<Ocr>();
那么我真的需要接口吗?
【问题讨论】:
-
临时锁,让人们在cmets冷静下来。
标签: asp.net-core asp.net-core-mvc .net-core coreclr