본문 바로가기
SW

GoF의 디자인 패턴(Design Patterns: Elements of Reusable Object-Oriented Software) - 4장 구조 패턴 :: 적응자(Adapter)

by 라꾸스떼(YR) 2020. 4. 25.
반응형

[적응자(Adapter) - 클래스, 객체 구조(Class, Object Structural)]

<의도>

클래스의 인터페이스를 사용자가 기대하는 인터페이스 형태로 적응(변환)시킨다. 서로 일치하지 않는 인터페이스를 갖는 클래스들을 함께 동작시킨다.

 

<다른 이름>

래퍼(Wrapper)

 

<동기>

이미 개발된 클래스의 인터페이스를 수정할 수 없다면, Shape와 TextView 인터페이스에 둘 다 맞도록 우리가 개발한 TextShape 클래스를 조정해야 한다.

-Shape의 인터페이스와 TextView의 구현을 모두 상속받는다. → 적응자 패턴 클래스 버전

-TextView의 인스턴스를 TextShape에 포함시키고, TextView 인터페이스를 사용하여 TextShape를 구현한다. → 적응자 패턴 객체 버전

TextShape = 적응자(Adapter)

가끔 적응자는 적응 대상 클래스가 제공하지 않는 기능을 제공하는 책임도 지닌다.

 

<활용성>

 

<구조>

 

<참여자>

 

<협력 방법>

 

<결과>

 

<구현>

 

<예제 코드>

 

<잘 알려진 사용예>

 

<관련 패턴>

반응형

댓글