본문 바로가기
지식/디자인패턴

Head First Design Patterns : Adapter Pattern

by CodeRain 2024. 1. 16.

Adapter Pattern

  • 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환
  • 호환되지 않아 쓸 수 없었던 클래스를 사용 가능하게 함.
  • 기존 클래스를 사용하고 싶지만 그 인터페이스가 나머지 코드와 호환되지 않을 때 사용

 

구조

  • Client
  • Target
    • 변화에 대한 요구사항
  • Adapter
    • Adaptee로 구성 
    • Target 인터페이스를 구현
  • Adaptee
    • Client와 호환되지 않는 기존 코드

 

  • java.util.Arrays#asList()
  • java.util.Collections#list()
  • java.util.Collections#enumeration()
  • java.io.InputStreamReader(InputStream) (returns a Reader object)
  • java.io.OutputStreamWriter(OutputStream) (returns a Writer object)