디자인 패턴 - 어댑터 패턴(Adapter pattern)


어댑터 패턴

정의 : 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환해주는 패턴.

호환되지 않는 인터페이스를 그대로 활용 가능.
클라이언트와 구현된 인터페이스 분리 가능.

클라이언트(Client), 어댑터(Adapter), 어댑티(Adaptee).
  1. 클라이언트에서 타겟 인터페이스를 사용하여 메소드를 호출함으로써 어댑터에 요청
  2. 어댑터에서는 어댑티 인터페이스를 사용하여 그 요청을 어댑티에 대한 메소드 호출로 변환
  3. 클라이언트에서는 호출 결과를 받긴 하지만 중간에 어댑터가 껴 있는지는 알 수 없음

예시:

Target{ Request() }
Adapter : Target { Request(){ Adaptee.SpecificRequest() } }
Client.Target.Request();//Adaptee.SpecificRequest() executed.



댓글

이 블로그의 인기 게시물

디자인 패턴 - 더티 플래그(Dirty flag)

디자인 패턴 - 서비스 중개자 패턴(Service locator pattern)

인공지능 - 유한 상태 기계(Finite state machine)