我正在从事一个.NetCore Web项目。
该项目使用Depencency注入。每个控制器利用构造函数注入来获取依赖项。
随着特性的增加,代码级依赖关系在代码质量方面变得越来越复杂并变得复杂(例如,SonarQube,其中最大参数限制在7)。
为什么首选构造函数注入?
只注射IServiceProvider和使用GetServices<T>()怎么样?
发布于 2021-02-09 13:13:28
发布于 2021-02-09 13:31:14
在这种情况下,您应该使用一个接口,它比直接调用服务更好。为什么?因为接口是类的标志,并为您提供了所有类的结构并执行RAM。
示例:
1-您应该创建一个接口:
public interface Iexample{
string AddPerson
}2-您应该在服务中有一个数据库实例。
public class Example:Iexample
{
private readonly Iexample _DBContext
public Example(Iexample dbContext ){
_DBContext=dbContext;
}
}3-您必须创建与界面相同的方法,并且所有的方法都准备好了。
public class Example:Iexample{
private readonly Iexample _DBContext
public Example(Iexample dbContext ){
_DBContext=dbContext;
}
public string GetAll(string code)
return code;
}
}https://stackoverflow.com/questions/66119351
复制相似问题