본문 바로가기

DIP

(2)
Spring D.I. Pattern DI... DI... 듣다듣다 어디서 되게 많이 들었다. DI 패턴이라고?? 기억 하기로는 DI 패턴이 아니라.. 예전에 Head First Design Patterns 를 보다가 나온 용어 중에 Dependency Inversion Priciple 이라는 것이 있었다. 의존성의 역행 원리? 정도로 해석을 할 수 있을텐데... 여러 얽히고 섥힌 객체들 간의 불필요한 의존성을 제거 해준다는데에 그 목적이 있다. 그럼 이렇게 의존성을 제거한 후에 이 객체들 끼리 조립하는 무엇이 필요하다고 하는데.. 이렇게 Assembler 역할을 하는 것이 다름아닌 스프링의 XML 외계어 이다. 다시 말하면 XML 을 이용하여 객체들의 의존 관계를 정의해 줄 수 있다고 한다. 요것이 바로 내가 만들어준 application..
Factory Method Pattern ③ DIP (Dependency Inversion Principle) 패턴 책을 보면서 중간 즈음에 나오는 Dependency Inversion Principle (이하, DIP) 라는 원칙이 나옵니다. 한국말로 해석을 하자면 의존성 뒤집기 원칙이라고 하는데, 의존성이라는 것에 대해서 다시 한번 생각해본다면 무언가에 의존한다는 건 마치 서브 클래스들이 상위 클래스에 의존한다는 것과 뉘앙스가 비슷하다는 생각이 듭니다. 근데 의존성 뒤집기라고 부르는 이유가 뭘까요??? 디자인 원칙으로 이렇게 이야기 합니다. 추상화된 것에 의존하도록 만들어라. 구상 클래스에 의존하도록 만들지 않도록 한다.역시 뭔말인지 못알아 듣겠습니다. 확실한건 추상화를 사용하라는걸 보니 추상클래스나 인터페이스 중심으로 설계를 하라는 것 처럼 보입니다. 이전에 이야기 했던 특정 구현이 아닌 인터페이스에 맞춰서..