spring-architecture-boundar.../docs/architecture/adr-payment-boundary.md

1.2 KiB

결제 전환 목표 아키텍처 결정 기록 (ADR)

Context

결제 시스템의 전환 목표를 정의하고, 외부 결제 게이트웨이와의 통신을 관리하기 위한 아키텍처를 설정합니다. 외부 결제 게이트웨이는 도메인에서 직접 참조되지 않고, 포트 인터페이스를 통해 접근합니다.

Decision

결제 도메인과 외부 결제 게이트웨이 간의 의존성을 최소화하기 위해, 포트 인터페이스를 사용하여 어댑터 패턴을 적용합니다. 이를 통해 도메인 로직은 외부 시스템에 대한 의존성을 가지지 않게 됩니다.

Alternatives

  1. 직접 외부 결제 게이트웨이를 도메인에서 참조하는 방법

    • 장점: 구현이 간단함
    • 단점: 도메인 로직의 테스트가 어려워짐
  2. 서비스 레이어에서 외부 결제 게이트웨이를 호출하는 방법

    • 장점: 도메인과의 의존성 감소
    • 단점: 서비스 레이어가 복잡해질 수 있음

Consequences

  • 도메인 로직의 독립성을 유지할 수 있으며, 외부 결제 시스템의 변경에 유연하게 대응할 수 있습니다. 또한, 테스트가 용이해집니다.