我建在asp.net简单的MVC应用程序。 我想跟着依赖倒置原则 ,我不知道如果我这样做是正确的。
我目前正在认证系统上。 我有一个使用内部的身份验证服务的的AccountController。 认证器服务被注入到由构造喷射控制器。
public class AccountController : Controller
{
private IAuthenticator _authenticator;
public AccountController(IAuthenticator authenticator)
{
_authenticator = authenticator;
}
//
// POST: /Account/Login
[HttpPost]
public ActionResult Login(LoginModel model, string redirectToUrl = null)
{
...
}
结构化的文件是这个:
但我想,如果我想要一个完全颠倒的控制器和它的依赖,我将要搬到旁边的控制器认证服务的接口之间的体面为。 事情是这样的:
通过这种方式,客户端 - 控制器 - 和服务的抽象会璧坐在同一个命名空间。 所以在服务的接口变化将来自客户端,将被传播到服务实现。 ,而不是以前的方式,其中,在服务发生变化传递给客户端。 依赖倒置 - 服务是依赖于客户端的。
我可以看到这样做的好处时,客户端和服务都在不同的组件,但我并不知道我是否应该这样做,当涉及到同样的组装。
让和我知道,如果我这样做是否正确,我应该使用的第一个文件结构或第二个。
谢谢,Asier