我正在使用 ASP.NET MVC5 项目。我是商业编程的新手,我对接口有点困惑,我以前没有使用过它们。我有一个几乎完成的项目。
这是一个例子:
public interface IUserService()
{
bool ValidateUser(string name, string password);
//.. others
}
我也上课实施这项服务
public class UserService : IUserService
{
public bool ValidateUser(string name, string password)
{
//code
}
//.. others
}
如果我的控制器作为示例,我正在使用 UserService:
public class HomeController : Controller
{
IUserService _userService;
public HomeController(IUserService userService)
{
_userService = userService;
}
[HttpGet]
JsonResult Anymethod(string name, string pw)
{
return Json(_userService.ValidateUser(name,pw), JsonRequestBeh.AllowGet);
}
}
为什么不使用 IUserService 而不是使用 UserService 作为静态类而不实现 IUserService?
public static UserService
{
ValidateUser(string user, string pw)
{
//code
}
}
如果在这种情况下类似,使用接口有什么好处?