diff --git a/docs/architecture/adr-payment-boundary.md b/docs/architecture/adr-payment-boundary.md new file mode 100644 index 0000000..170c928 --- /dev/null +++ b/docs/architecture/adr-payment-boundary.md @@ -0,0 +1,14 @@ +# 결제 경계 ADR (Architectural Decision Record) + +## Context +이 문서는 결제 시스템의 아키텍처 경계를 정의하며, 결제 전환 목표에 대해 명확하게 이해하기 위해 작성되었습니다. 결제 로직은 외부 결제 게이트웨이와 상호작용하며, 이러한 상호작용은 포트 인터페이스를 통해 이루어져야 합니다. 도메인 계층은 직접 외부 게이트웨이 어댑터를 참조하지 않습니다. + +## Decision +결제 처리는 애플리케이션의 도메인 계층에서 관리되며, 외부 결제 게이트웨이는 포트 인터페이스를 통해 접근합니다. 이는 결제 시스템의 모듈화를 보장하며, 변경 및 유지보수를 용이하게 합니다. решение는 외부 서비스 의존성을 관리하고, 테스트 가능성을 높입니다. + +## Alternatives +1. **직접 의존성**: 도메인 계층에서 외부 결제 게이트웨이에 직접 접근하는 방법. 이 방법은 즉각적인 통합을 가능하게 하지만, 결제 게이트웨이가 변경될 경우 도메인 계층도 수정해야 하는 단점이 있습니다. +2. **이벤트 기반 접근**: 결제 완료 후 이벤트를 발행하고 처리하는 방법. 이 방법은 비동기적이지만, 복잡성을 증가시킵니다. + +## Consequences +이 결정을 따름으로써, 결제 시스템은 변경에 대한 저항성을 가지며, 다양한 결제 방식의 도입이 쉬워집니다. 하지만, 초기 설정이 다소 복잡할 수 있습니다. \ No newline at end of file