인프런 커뮤니티 질문&답변

dev님의 프로필 이미지
dev

작성한 질문수

토비의 스프링 부트 - 이해와 원리

DI를 이용한 Decorator, Proxy 패턴

Decorator 패턴을 소개해주신 이유

해결된 질문

작성

·

746

·

수정됨

1

proxy 패턴은 빈 주입할 때 proxy로 만들어지기 때문에 이를 이해시키는 목적으로 설명해주셨는데 decorator 패턴은 어떤 목적으로 소개해주신 건지 궁금합니다.

제가 중간에 캐치하지 못 한 건지 궁금해서 글을 남깁니다.

답변 1

5

토비님의 프로필 이미지
토비
지식공유자

DI에 관한 설명을 보면 대부분 의존하는 오브젝트를 갈아치우는 시나리오를 주로 이야기 합니다. 전략을 통채로 바꾸는 것이죠. SimpleHelloService 대신 ComplexHelloService로 바꾼다거나 하는 것이죠. 그런데 DI는 오브젝트 합성(composition)을 이용하는 다양한 디자인 패턴을 적용할 때도 유용합니다. 대표적으로 프록시, 데코레이터, 어댑터 등이 있습니다. 그래서 의존 대상을 바꾸는 경우 외에도 DI가 유용하게 활용되는 예를 들기 위해서 데코레이터를 설명한 것입니다. DI가 없이 데코레이터를 쓰려면 결국 의존하고 있는 쪽에서 구현 클래스 정보를 노출할 수 밖에 없습니다. 이걸 DI를 이용해서 코드에서 제거하고 유연한 런타임 의존성 설정으로 가능하게 하는 것을 보여준 것입니다.

dev님의 프로필 이미지
dev
질문자

감사합니다!

dev님의 프로필 이미지
dev

작성한 질문수

질문하기