对于构建脱钩应用程序所使用的正确DI模式,我有疑问。
我的项目结构是:
我想注入UserManager类的实现,并且要实现这一点,我使用以下语句添加了对Web应用程序Startup.cs的依赖:
services.AddScoped<IUserManager, UserManager>();
为此,我必须为BestBurgerManager.Business项目添加一个项目引用,并使用其实现。
从DI的角度来看是否正确?这样做似乎没有解耦的设计。
我的UserManager类的实现是:
public class UserManager : IUserManager
{
private readonly IUserManager _userManager;
public UserManager(IUserManager userManager)
{
_userManager = userManager;
}
public void AddUser(User user)
{
// Adds a user.
}
public User GetUser(int userId)
{
return new User(); // Just to test DI.
}
}
感谢您提供任何澄清的帮助。