私は3つのプロジェクトファイルサービスレイヤプロジェクトにIOC(ninject)コードを配置する場所はどこですか?
webui - controllers and views
framework - service layer and repos
tests- unit tests
を持っているので、私はそれを参照してくださいどのように私のコントローラのみ(それは私のビジネスロジックが含まれています)私のサービス層に話をするということです。サービス層はreposと対話し、データベースデータを取得します。
私のレポは、データベースと返信のデータを話すだけです。
これでユニットテストをしたい場合、私は偽のサービス層と偽のリポジトリを持っている必要があります。
このようにして、コントローラを個別に分離してサービス層をテストすることができます。
私のサービスクラスで使用できるように、フレームワーククラスライブラリに忍耐強いコードを置くのはどこですか?
スティーブンはあなたが私はMVCの拡張子を持つグローバルaspxのこの
//セットアップninjectようなものをやるべきことを言っている
編集
//今のものをバインド
private class SportsStoreServices : NinjectModule
{
public override void Load()
{
Bind<IAdminService>().To<AdminService>();
Bind<IAdminRepo>().To<AdminRepo>();
}
}
//コントローラ
public class AccountController : Controller
{
//
// GET: /Account/
private IAdminService adminService;
public AccountController(IAdminService adminService)
{
this.adminService = adminService;
}
public ActionResult Login()
{
var getAllAdmins = adminService.GetAllAdmins();
return View();
}
}
//サービス層
public class AdminService : IAdminService
{
private IAdminRepo adminRepo;
public AdminService(IAdminRepo adminRepo)
{
this.adminRepo = adminRepo;
}
public List<Admins> GetAllAdmins()
{
return adminRepo.GetAllAdmins();
}
}
//Repo
public class AdminRepo : IAdminRepo
{
public List<Admins> GetAllAdmins()
{
// some query to get all admins
}
}
ninject.web.mvcを使用していますか? https://github.com/ninject/ninject.web.mvc – dotjoe
サービス層はNinjectについて何も知らない。 – dotjoe
現在のところありません。私はちょうどプロasp.net mvc 2.0で行った作者に従った。それだけでwebuiの部分で私の問題を解決することはありません。サービスレイヤではないのですか?(自分のプロジェクトフォルダとリポジトリクラスの内容は何ですか) – chobo2