본문 바로가기

DI

(3)
AutoFac을 이용한 IOC컨테이너 사용하기 요즘 우리회사는 새로운 플랫폼 MVC Razor를 기반으로 한 Web Project 진행이 한창이다. 여기서 DI프레임웤을 뭘로 쓸까 고민하다가 AutoFac이라는 놈을 쓰기로 했다. 사용하기도 쉽고 편하다 게다가 MVC3와 통합된 모듈도 제공된다. 1, Nuget에서 Autofac을 치고 Autofac ASP.NET MVC3 Integration을 설치한다. 2. 설치가 됐으면 Global.asax 파일에 아래와 같이 컨트롤러와 필요한 등록에 컨테이너에 등록에 필요한 어셈플리를 포함시킨다. var builder = new ContainerBuilder(); Assembly assemblyService = Assembly.Load("Test"); builder.RegisterControllers(Asse..
DI개념 vs DI Pattern DI개념 단어에서 볼수 있듯이 Dependency Injection은 오브젝트 결합에 있어 의존성이 발생할때 생성자함수나 프로퍼티의 셋터나 메서드에서 삽입하는 걸 말할수 있다. DI Pattern 마틴파울러가 말하는 DI 즉 위에서 말하는 DI와는 좀 다른 것을 의미하는데 오브젝트 합성 구조를 통한 확장성을 보장받기 위해서 제 3의 존재(assembler)가 필요하고 그 제 3의 존재가 런타임시에 의존관계를 제공해줘야 한다는 뜻이다. 그리고 그방법과 장점에 대해서는 이미 GoF의 전략패턴에서 잘 설명하고 있다. 많은 블로그에서 DI Patterns의 샘플을 쉽게 볼수 있다. 나는 그렇게 생각한다. 위의 패턴의 정의에 빗대어 생각해 보면 대부분의 블로그에서 기재한 내용은 위의 DI 패턴 개념과 상이한 부분..
DI정의 http://en.wikipedia.org/wiki/Dependency_injection