• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    미해결

데코레이터 패턴, 책임 연쇄 패턴

21.10.28 17:12 작성 조회수 411

4

안녕하세요 백기선님.

 

데코레이터 패턴과 책임 연쇄 패턴의 가장 큰 차이점 답변 부탁드립니다.

 

책임 연쇄 패턴이 데코레이터 패턴과 거의 같다고 느껴지는데요.

강의 초입에 말씀해주신 것처럼 관점에 차이라고 답변을 주실 수 있지만 위의 두개의 패턴은 예시나 사용법이 너무 비슷하다고 생각합니다.

아래의 그림의 차이로는 Default Concreate 객체가 있냐 없냐의 차이 같은데 혹시 유의미한 차이가 있다면 답변 부탁드립니다!

 

[데코레이터 패턴]

 

[책임 연쇄 패턴]

답변 2

·

답변을 작성해보세요.

8

백기선님의 프로필

백기선

지식공유자

21.10.29 05:56

안녕하세요. 좋은 질문 감사합니다.

강의에서 여러번 언급해 드렸지만 모든 패턴 다 비슷해요. 위임 아니면 상속을 쓰기 때문에 당연히 거의 같아 보이는 모양이 자주 등장합니다. 중요한건 해당 패턴으로 해결하고자 하는 "문제" 입니다. 모양만 보자면 데코레이터랑 프록시도 많이 닮았죠. 

책임연쇄패턴은 서블릿 필터나 스프링 MVC의 인터셉터처럼 어떤 작업을 처리하는 과정중에 여러 책임을 지나도록 설계하는 패턴이고, 데코레이터는 기존 코드에 어떤 기능을 부가적으로 추가하고 싶을 때 사용할 수 있는 패턴이라서 패턴을 목적으로 구분하셔야지 생김새로 구분하시면 다 그게 그거처럼 보이고 구분하기 어렵습니다.

감사합니다.

3

Rep님의 프로필

Rep

질문자

21.10.29 09:59

"문제"에 초점을 맞추도록 해야겠네요. 피드백 주셔서 감사드립니다!