[ASP.NET MVC]Ninject 사용법
이전 글에서 Dependency Injection에 대해 소개했는데 이번에는 ASP.NET MVC에 적용할 수 있는 컨테이너인 Ninject를 알아보자.
어플리케이션에서 인터페이스를 사용하고 의존성을 주입하여 각 구성요소들 간에 의존성을 분리해보도록 하자.
1. 프로젝트에 Ninject 추가하기
[그림 1]
프로젝트에 Ninject를 사용하기 위해서는 NuGet패키지 관리를 이용한다.
프로젝트에서 마우스 우클릭 -> NuGet 패키지 관리를 선택 후 오른쪽 상단 검색창에서 ninject를 검색하면 [그림 1]과 같은 화면이 나오고 설치를 누른다.
설치 후 프로젝트의 참조를 보면 ninject가 추가된 것을 볼 수 있다.
[코드 1]
코드에서 Ninject를 사용하기 위해서는 먼저 Ninject 커널을 생성해야 한다. 이후에 인터페이스를 사용하려는 클래스와 바인드하는 작업을 한다.
[코드 1]의 3번째 줄은 커널을 생성한 부분이고, 5번째 줄은 IShoesFactory인터페이스를 NShoes와 바인딩시키는 부분이다.
[코드 2]
바인딩한 클래스를 전달하기 위해서는 [코드 2]의 7줄과 같이 Get메서드를 사용한다.
추가로 Ninject를 이용해 인터페이스와 클래스간에 바인딩 작업을 통해 여러 의존성 체인형성도 가능하다.
위와같이 Ninject를 이용하여 의존성 주입을 하고 그에 따른 관심사의 분리가 가능하다
'프로그래밍 > .NET' 카테고리의 다른 글
[ASP.NET MVC] DI 컨테이너 설정(Ninject) (598) | 2015.09.13 |
---|---|
[ASP.NET MVC]Dependency Injection 개념 (1309) | 2015.08.02 |
[ASP.NET MVC] Controller에서 데이터 전달 (4) | 2015.07.11 |
[ASP.NET MVC] Project 생성, MVC Hello World! (4) | 2015.06.26 |
<ASP.NET> Razor (5) | 2015.05.18 |