spring-architecture-referen.../docs/architecture/adr-payment-boundary.md
2026-07-12 05:20:09 +00:00

1.5 KiB

ADR: Payment Boundary

Context

결제 시스템을 구현하는 데 있어 도메인 아이템과 외부 결제 게이트웨이 간의 경계를 명확히 하는 것이 중요합니다. 이를 통해 결제 처리에 대한 책임을 잘 정의하고, 도메인 로직과 외부 종속성 간의 결합도를 최소화할 수 있습니다.

Decision

도메인 모델은 결제 게이트웨이에 대한 직접 참조를 피하고, 대신 포트 인터페이스를 통해 결제 관련 요청을 처리하도록 합니다. 이를 통해 결제 프로세스를 더 유연하게 관리하고, 다양한 외부 결제 제공자와의 통합을 용이하게 합니다.

Alternatives

  1. 직접 의존: 도메인 모델이 결제 게이트웨이에 직접 의존하게 하는 방식

    • 장점: 구현이 단순하고 빠름
    • 단점: 결제 제공자 변경 시 도메인 모델 수정 필요
  2. 포트 인터페이스 사용 (선택한 안): 도메인 모델과 외부 시스템 간의 의존성을 포트 인터페이스로 분리

    • 장점: 도메인 모델의 독립성 유지, 다양한 결제 제공자와의 통합 용이
    • 단점: 초기 구현이 더 복잡할 수 있음

Consequences

이 결정을 통해 코드베이스의 유연성과 유지 보수성이 증가할 것이며, 새로운 결제 제공자 추가에 따른 프로젝트의 전체적인 작업량이 줄어들 것입니다. 또한, 도메인 모델은 요구 사항 변경 시 더 적은 영향 만큼의 수정으로 대응할 수 있게 됩니다.