PHpullh
학습 라이브러리/PHP/Hexagonal Port 인터페이스

PHP · 패턴

Hexagonal Port 인터페이스

외부 시스템 의존성을 포트 인터페이스 뒤로 숨기는 헥사고날 아키텍처 감각의 예제입니다.

패턴고급hexagonalportservice

핵심 설명

외부 시스템 의존성을 포트 인터페이스 뒤로 숨기는 헥사고날 아키텍처 감각의 예제입니다.

PHP code

<?php
interface PaymentPort {
    public function charge(int $amount): string;
}

class CheckoutService {
    public function __construct(private PaymentPort $payment) {}
    public function checkout(int $amount): string { return $this->payment->charge($amount); }
}

echo CheckoutService::class;

학습 팁

패턴 예제는 클래스 수보다 의존성 방향과 책임 분리를 중심으로 읽는 것이 더 중요합니다.

주의할 점

패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.

자주 묻는 질문

Hexagonal Port 인터페이스란 무엇인가요?

외부 시스템 의존성을 포트 인터페이스 뒤로 숨기는 헥사고날 아키텍처 감각의 예제입니다.

Hexagonal Port 인터페이스 학습 시 주의할 점은 무엇인가요?

패턴을 적용하더라도 구현체에 강하게 결합되면 오히려 변경 비용이 커집니다.