KnP House for Daily

DI – 의존성 주입 (Dependency Injection) 본문

Programming/Design Pattern

DI – 의존성 주입 (Dependency Injection)

K.ung 2014.12.29 10:12

1.     DI – 의존성 주입 (Dependency Injection)

A.     원인

-       Wiring

n  객체를 사용하는 Caller는 실제 객체가 뭔지 몰라도 인터페이스만을 가지고 일을 하는게 추상화이다. 그리고 그 객체를 수정해도 클라이언트는 몰라도 되며, 동일한 인터페이스라도 다른 객체를 주입하면 다른 기능을 수행하는 것이 다형성이다. 이런 추상화’,’다형성으로 서로 다른 객체가 참조를 통해 객체간의 체인이 발생하는 것이 ‘wiring’이다.

-       Coupling

n  Caller는 객체의 인터페이스만을 잡고 있고, 구체 클래스를 new연산자로 객체를 참조하게 되면 구체 클래스와의 강한 결합도가 생겨난다.

n  구체 클래스 수정시 caller에 영향을 미침

n  서로 연관된 클래스에 대한 이해도가 필요

 

B.      IOC

-       기본 개념 : 일을 처리하는 주도권을 상대에게 넘겨준다.

-       콜백 함수 라고 생각.

-       IOC를 이용하여 DI를 풀이할 수 있다.

 

C.      해결 방안

-       객체를 생성하는 것을 CALLER에서 하지않고 사용할 객체 생성을 다른 객체에서 생성 시켜 그 객체를 넘겨준다.




D.     장점

-       의존 객체 변경 용이

-       단위 테스트 쉬움






P.S. 개인 공부 보관용.....참고만....

저작자 표시 비영리 변경 금지
신고

'Programming > Design Pattern' 카테고리의 다른 글

디자인패턴 - 5가지 법칙  (0) 2014.12.29
DI – 의존성 주입 (Dependency Injection)  (0) 2014.12.29
0 Comments
댓글쓰기 폼