2016년 4월 1일 금요일

Design Pattern Digest - 7. Adapter

이글은 책 "Java언어로 배우는 디자인 패턴 입문"을 읽고 쓴 요약입니다. 
나만 이해하도록 불친절하게 작성되어 있습니다. 
자세한 내용은 책을 보세요. 


Adapter



  • Wrapper 패턴이라고도 함. 이미 제공되어 있는 것을 필요한 쪽이 쓸 수 있도록 해주는 것이 일. 
  • 상속을 이용할 수도 있고 위임을 이용할 수도 있다. 
  • 필요한 메소드를 정의한 Adapter interface가 있다. 보아하니 Adaptee라는 클래스가 그 기능을 대충 제공한다. 이때 ConcreteAdapter는 Adapter를 implements하고 Adaptee를 extends해서 만들어도 되고 그냥 Adapter만 implements하고 Adaptee는 위임으로 갖고 있어도 된다. (후자가 바람직) 
  • Proxy 패턴과 매우 유사한데, Proxy 패턴에서 위임 관계인 Proxy와 RealSubject간에 interface가 같은 반면 여기서 ConcreteAdapter와 Adaptee는 아무 관계가 없다. 그야말로 느슨하다.
  • 소스가 있든 native library형태로만 제공되든 그걸 감싸는 wrapper class들은 Adapter 패턴이라고 보면 된다. 



댓글 없음:

댓글 쓰기