nInject 사용하는 간단한 방법
2019, Apr 09
사용하는 이유는?
- 의존성을 주입할 수 있음.
- 주입 할 수 있기 때문에 의존성을 제거할 수 있음.
사용하는 방법은?
- manual dependency injection 을 Ninject로 바꿔보자.
코드 설명
- formHandler 가 mailSender 를 가지고 있음.
- mailSender 를 유연하게 쓰고 싶음.
class Program
{
static void Main(string[] args)
{
IMailSender mailSender = new MockMailSender();
FormHandler formHandler = new FromHandler(mailSender);
fromHandler.Handle("test@test.com");
}
}
위의 manual dependecy injection 을 Ninject 로 바꾸면
using Ninject;
class Program
{
static void Main(string[] args)
{
var kernel = new StandardKernel();
Bind<IMailSender>.To<MockMailSender>();
FormHandler formHandler = new FromHandler(kernel.Get<IMailSender>());
fromHandler.Handle("test@test.com");
}
}