어탭터 패턴

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

어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 서로 연결해서 사용할 수 있다.

 

예를 들어보자,

내가 만든 SW 시스템에 새로운 업체에서 제공한 클래스 라이브러리를 적용해야 한다고 해보자.

그런데 새로 채택한 업체에서 사용하는 라이브러리의 인터페이스가 기존 업체의 인터페이스와 다르다면 ?

이런 경우 인터페이스를 맞춰주기 위해 '어댑터'를 사용할 수 있다.

 

용어 정리 한 번 해보면

  1. 어댑터(Adapter) : 클라이언트와 직접적으로 맞닿는 인터페이스 !
  2. 어댑티(Adaptee) : 어댑터를 이용해 인터페이스를 맞춰줘야할 대상 ! ( 위의 예에서 새로운 업체의 클래스 라이브러리가 어댑티 ! )

 

 

 

퍼사드 패턴

인터페이스를 단순화시키기 위해 어댑터를 사용할 수도 있는데, 이를 퍼사드 패턴(Facade Pattern)이라 한다 !

이를 위해 한 어댑터에서 타겟 인터페이스를 구현하기 위해 두 개 이상의 어댑티(Adaptee)를 감싸는 방법 등을 이용한다.