1 KiB
1 KiB
결제 경계 아키텍처 결정 (ADR)
Context
결제 처리 시스템에서는 결제 게이트웨이와의 통합이 필수적입니다. 사용자의 결제 정보 보호 및 다양한 외부 결제 시스템과 원활하게 작업하기 위해 설정된 경계가 필요합니다.
Decision
결제 도메인에서는 외부 결제 게이트웨이에 직접 의존하지 않고, 대신 PaymentGateway라는 포트 인터페이스를 정의하여 이를 통해 외부 시스템을 호출합니다. 이로 인해 결제 도메인의 적절한 테스트 및 유지보수가 용이해집니다.
Alternatives
- 직접 의존성: 결제 도메인에서 직접 외부 결제 API를 호출하는 방식 (비권장)
- 서비스 레이어 사용: 결제 서비스 레이어를 두고 해당 레이어에서 외부 API를 호출하는 구조 (권장)
Consequences
- 시스템의 결제 도메인과 외부 결제 시스템 간의 의존성을 줄여 유연성을 증대.
- 외부 결제 시스템의 변경이 도메인에 미치는 영향을 최소화.