.NET 개발/C#
Inversion of Control(IOC), Dependency Injection(DI)
Hoya0415
2015. 7. 13. 09:16
IOC(Inversion of Control)
"제어의 역전, 역제어 라는 뜻으로 프로그래머가 제어권을 갖고 있는게 아니라 이를 관리해주는 컨테이너가 제어를 갖고 관리해준다. 컨테이너의 조건에 따라 수행하는 로직이 바뀌는 것이다.
<출처 :링크 주소 동영상>
그림에서 Customer가 Validate 이라는 함수를 호출 할 때 Which Dal? 이라는 조건식으로 Sql 혹은 Oracle 클래스가 사용되는데 이건 내 프로그램 순서에 따라서 결정되는게 아닌 Customer가 조건을 결정하는 방식으로 제어가 역전됬다고 볼 수 있다.
<출처 :링크 주소 동영상>
DI(Dependency Injection) 의존성 주입
모듈을 도중에 바꿀 수 있다.
의존성 설계 -> 의존성 설정 -> 의존성 주입.
비디오 출처 : https://www.facebook.com/photo.php?v=690253231015623&set=vb.341019362605680&type=2&theater
IOCSample.zip