본문 바로가기

Patterns

DI개념 vs DI Pattern

DI개념
단어에서 볼수 있듯이 Dependency Injection은 오브젝트 결합에 있어 의존성이 발생할때 생성자함수나 프로퍼티의 셋터나 메서드에서 삽입하는 걸 말할수 있다.


DI Pattern
마틴파울러가 말하는 DI 즉 위에서 말하는 DI와는 좀 다른 것을 의미하는데 오브젝트 합성 구조를 통한 확장성을 보장받기 위해서 제 3의 존재(assembler)가 필요하고 그 제 3의 존재가 런타임시에 의존관계를 제공해줘야 한다는 뜻이다. 그리고 그방법과 장점에 대해서는 이미 GoF의 전략패턴에서 잘 설명하고 있다.

많은 블로그에서 DI Patterns의 샘플을 쉽게 볼수 있다. 나는 그렇게 생각한다. 위의 패턴의 정의에 빗대어 생각해 보면 대부분의 블로그에서 기재한 내용은 위의 DI 패턴 개념과 상이한 부분이 있다.