DesignPatterns에서 StructuralPatterns의 하나

'이미 제공되어 있는것'과 '필요한것'과의 사이의 간격을 메우는 패턴. WrapperPattern이라고도 한다.

크게 두종류가 있다.

  • A class adapter uses multiple inheritance to adapt one interface to another
  • An object adapter relies on object composition

기존의 클래스를 새로운 인터페이스(API)에 적합하고자 할때 클래스를 수정하지말고, Adapter를 만든다.

1. 의도 클래스의 인터페이스를 클라이언트가 기대하는 형태의 인터페이스로 변환한다. 어댑터패턴은 서로 일치하지 않는 인터페이스를 갖는 클래스들을 함께 동작시킨다.

2. 동기 이미 개발되어있는 클래스의 인터페이스를 수정할수없다면, 원하는 형태로 인터페이스를 변경이 가능한 형태로 연결해주는 부분이 필요.

3. 활용성 - 기존의 클래스를 사용해야 하나, 인터페이스가 수정되어야 하는것. - 이미 만들어진것을 재사용하고자 하나, 이 재사용 가능한 라이브러리를 수정할수 없는경우 - 이미 존재하는 서브클래스의 수정없이 현재의 클래스를 사용하고자 할때.

Structure

Example

글씨표현예제 AdapterBanner.java

관련정보들

AdapterPattern


CategoryPattern

AdapterPattern (last edited 2012-10-08 16:20:41 by 61)

web biohackers.net