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

1.1 KiB

결제 전환 목표 아키텍처 정의

Context

결제 처리 시스템은 다양한 결제 수단과의 통합을 요구하며, 도메인 객체를 통해 결제 업무를 표준화하고 통제할 수 있어야 한다. 시스템 내부에서 외부 결제 게이트웨이와의 통신을 추상화하기 위해 포트 인터페이스를 사용한다.

Decision

결제 처리의 성공과 실패를 명확하게 정의하고, 특정 외부와의 상호작용을 가진 경우에만 결제 작업을 수행하도록 의사 결정을 내렸다. 외부 결제 게이트웨이는 도메인에서 직접 참조되기보다는 포트 인터페이스로 접근한다.

Alternatives

  1. 직접 참조: 도메인이 외부 시스템을 직접 호출하는 방식 (회피됨)
  2. 포트-어댑터 패턴: 도메인에서 포트를 사용하고, 외부 시스템과의 통신을 어댑터가 처리 (선택됨)

Consequences

이 아키텍처 접근 방식은 결제 처리 시스템을 유연하게 만들어 주며, 외부 결제 시스템의 변경에 대한 내성을 제공한다. 그러나 초기 구현 시 추가적인 설계와 구현이 요구된다.