PHP · 패턴
Adapter 패턴
기존 라이브러리 인터페이스를 새 애플리케이션 계약에 맞추는 adapter 예제입니다.
패턴고급adapterlegacyintegration
핵심 설명
기존 라이브러리 인터페이스를 새 애플리케이션 계약에 맞추는 adapter 예제입니다.
PHP code
<?php
interface SmsSender {
public function send(string $message): string;
}
class LegacySmsClient {
public function push(string $body): string { return 'legacy:' . $body; }
}
class SmsAdapter implements SmsSender {
public function __construct(private LegacySmsClient $client) {}
public function send(string $message): string { return $this->client->push($message); }
}
echo (new SmsAdapter(new LegacySmsClient()))->send('hello');학습 팁
패턴 예제는 클래스 수보다 의존성 방향과 책임 분리를 중심으로 읽는 것이 더 중요합니다.
주의할 점
패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.
자주 묻는 질문
Adapter 패턴란 무엇인가요?
기존 라이브러리 인터페이스를 새 애플리케이션 계약에 맞추는 adapter 예제입니다.
Adapter 패턴 학습 시 주의할 점은 무엇인가요?
패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.
Continue Learning
PHP 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.