Ninject를 사용하려고하는 MVC를 사용하는 늪지 표준 3 단계 프로젝트에 문제가 있습니다. 나는 MemberRepository있어 :Ninject 및 MVC를 사용하는 서비스 계층에 대한 종속성
public class MemberRepository : IMemberRepository{
public bool Save(Member member){
//saves member
}
}
난 다음 내 서비스 계층이 : 내 AccountController를 설정 나를 가장 좋은 방법이 무엇인지 Ninject에 사용할 것입니다 감안할 때
public class MemberService : IMemberService{
public bool Register(string email){
//Do Stuff & Populate Member Object
_repo.Save(member);
}
}
. 그래서 같이 생성자에 MemberService 전달해야 :
public class AccountController : Controller
{
IMemberService _memberService;
public AccountController(IMemberService memberService)
{
_memberService = memberService;
}
}
또는 저장소에 전달합니다
public class AccountController : Controller
{
IMemberService _memberService;
public AccountController(IMemberRepository memberRepo)
{
_memberService = new MemberService(memberRepo);
}
}
또는 둘 모두를?
나는 원래 저장소 (서비스 계층 없음)가 있지만 서비스 계층을 구현해야하고 내 NinjectWebCommon.cs 파일에 kernal을 등록 할 때 '종속성'을 처리하는 방법을 모르겠습니다. .
kernel.Bind<IMemberRepository>().To<SqlMemberRepository>();
하지만이 IMemberService을 등록해야 및 매개 변수의 일종으로 환매 특약이있는 경우 지금 궁금하네요 : 어떤 원래 그냥이 있었다.
: s 실종 느낌. 희망을 나는 이해하고 누군가가 도울 수 있기를 바랍니다.
서비스와 저장소는 모두 종속성이므로 컨트롤러에 둘 다 삽입하는 것이 가장 좋습니다. –