나만 이해하도록 불친절하게 작성되어 있습니다.
자세한 내용은 책을 보세요.
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 패턴이라고 보면 된다.
댓글 없음:
댓글 쓰기