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 を実装せずに IUserService の代わりに UserService を静的クラスとして使用しないのはなぜですか?
public static UserService
{
ValidateUser(string user, string pw)
{
//code
}
}
その場合に似ている場合、インターフェースを使用する利点は何ですか?