diff --git a/docs/architecture/adr-payment-boundary.md b/docs/architecture/adr-payment-boundary.md new file mode 100644 index 0000000..78cf24a --- /dev/null +++ b/docs/architecture/adr-payment-boundary.md @@ -0,0 +1,19 @@ +# 결제 전환 목표 아키텍처 결정 기록 (ADR) + +## Context +결제 시스템의 전환 목표를 정의하고, 외부 결제 게이트웨이와의 통신을 관리하기 위한 아키텍처를 설정합니다. 외부 결제 게이트웨이는 도메인에서 직접 참조되지 않고, 포트 인터페이스를 통해 접근합니다. + +## Decision +결제 도메인과 외부 결제 게이트웨이 간의 의존성을 최소화하기 위해, 포트 인터페이스를 사용하여 어댑터 패턴을 적용합니다. 이를 통해 도메인 로직은 외부 시스템에 대한 의존성을 가지지 않게 됩니다. + +## Alternatives +1. 직접 외부 결제 게이트웨이를 도메인에서 참조하는 방법 + - 장점: 구현이 간단함 + - 단점: 도메인 로직의 테스트가 어려워짐 + +2. 서비스 레이어에서 외부 결제 게이트웨이를 호출하는 방법 + - 장점: 도메인과의 의존성 감소 + - 단점: 서비스 레이어가 복잡해질 수 있음 + +## Consequences +- 도메인 로직의 독립성을 유지할 수 있으며, 외부 결제 시스템의 변경에 유연하게 대응할 수 있습니다. 또한, 테스트가 용이해집니다. \ No newline at end of file