대가는 결과를 만든다

adapter 패턴 본문

개발/디자인 패턴

adapter 패턴

yunzema 2023. 2. 12. 20:28
반응형

1. Intro

어댑터란? 가장 가까이 볼 수 있는 어댑터의 예

- 충전기 타입이 micro usb-b인데 스마트폰의 usb-c라면, 충전기에 usb-c타입으로 전환하기 위한 어댑터를 끼워주어야 한다.

 

2. 어댑터 패턴

- 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해준다.

- 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 사용하기 위해 사용하는 패턴

- 이미 존재하는 타입/인터페이스/구조에 다른 인터페이스에 적응 시켜주는 역할을 하는 adapter를 사용한다.

 

- 다른 추상/인터페이스 유형의 인스턴스를 생성자에서 받는다. 어댑터가 그의 메서드들에 대한 호출을 수신하면, 어댑터는 매개변수들을 적절한 형식으로 변환해 해당 호출을 오버라이드된(랩핑된) 하나 또는 여러 메서드들에 전달한다.

 

- 코드 예시

https://wlswoo.tistory.com/55

https://refactoring.guru/ko/design-patterns/adapter/typescript/example

 

Comments