본문으로 건너뛰기
객체지향 설계 · 디자인 패턴LESSON 16

Adapter와 Facade

난이도중급 → 심화
예상 시간65분
선수지식이전 강의

16강. Adapter와 Facade

1. 이번 강의에서 해결할 문제​

외부 메일 SDK 타입이 도메인까지 퍼지거나 저장·알림·감사를 호출자가 정확한 순서로 알아야 하면 변경과 오용이 늘어납니다.

2. 학습 목표​

3. 핵심 개념​

Adapter는 맞지 않는 외부 인터페이스를 내부 역할 계약으로 변환합니다. Facade는 여러 내부 기능의 안전한 사용 순서를 단순한 진입점으로 제공합니다. 둘 다 문제 없는 API를 의미 없이 한 번 더 감싸지 않습니다.

4. 구현​

EmailNotifierAdapter.cpp
void EmailNotifierAdapter::send(const Notification& value) {
const auto result = sdk_.deliver(value.recipient(), value.message());
if (!result.ok) throw NotificationError{result.code};
}

TaskCompletionFacade는 service 완료·저장·사건 발행의 공개 진입점을 제공하되 핵심 규칙은 Task에 둡니다.

5. 코드가 동작하는 이유​

도메인은 SDK 타입과 오류 코드를 모르고 외부 변경은 Adapter에 머뭅니다. Facade는 올바른 호출 순서를 한곳에 둡니다.

6. 자주 하는 실수와 해결법​

7. 직접 실습​

8. 이해 점검 질문 3개​

9. 핵심 요약​

MINI QUIZ

Adapter와 Facade 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“Adapter와 Facade” 실습을 안전하게 진행하기 위한 판단으로 가장 알맞은 것은 무엇인가요?
  2. 문제 2“Adapter와 Facade”에서 ‘외부 예외 그대로 전파’ 문제가 생겼습니다. 가장 알맞은 진단 또는 대응은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

16강. Adapter와 Facade 미완료 상태