[ASP.NET MVC] DI 컨테이너 설정(Ninject)

Posted by 알 수 없는 사용자
2015. 9. 13. 17:17 프로그래밍/.NET

지난번 Ninject 사용에서는 응용프로그램에 대해 적용하는 방법을 알아보았는데

이번에는 레스토랑의 메뉴리스트를 보여주는 시나리오를 통해 ASP.NET MVC에서 DI를 어떻게 적용하는지 알아보자.


1. NinjectController 생성

[코드1]

Ninject를 이용해 의존성 주입을 하기 위한 NinjectController 클래스를 생성한다.

의존성주입이 필요하다면 줄 Addbindings()함수에 추가하면 된다.


2. NinjectController 등록

[코드2]

[코드2]의 10번째 줄은 [코드1]에서 생성한 클래스를 사용한다고 ASP.NET MVC에 알리는 과정이다.


3. 도메인 모델 생성

[코드3]

[코드4]

메뉴리스트에서 메뉴정보를 갖는 Menu클래스를 정의하고 Repository를 추가한다.


3. 데이터바인딩

[코드5]
원래라면 DB에서 데이터를 불러와서 메뉴정보에 담는 과정이 필요한데 여기서는 DB사용하지 않으므로
임시 데이처를 추가한다.
데이터바인딩작업은 위의 [코드1]에서 만든 NinjectController 클래스의 AddBinding() 함수에서 한다.

4. 메뉴 컨트롤러 생성

[코드6]

메뉴목록을 보여주기 위해 MenuController 클래스에 List함수를 추가했다.


5. 메뉴 리스트 뷰 생성

[코드7]

메뉴리스트 뷰생성은 [코드6]의 List함수에서 마우스 오른쪽 클릭 -> 뷰 추가 버튼을 클릭하여 생성한다.

뷰생성시 강력한 형식의 뷰를 선택하여 [코드3]에서 생성한 메뉴클래스를 입력한다.


6. 결과 확인 하기



[그림1]

코드작성이 완료되었으면 빌드하여 결과를 확인한다.



'프로그래밍 > .NET' 카테고리의 다른 글

[ASP.NET MVC]Ninject 사용법  (748) 2015.08.23
[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