1.1 KiB
1.1 KiB
ADR: Payment Boundary
Context
결제 서비스에서는 외부 결제 게이트웨이를 사용하므로, 도메인 레이어에서 직접 외부 결제 API를 참조하는 것이 아니라 포트 인터페이스를 통해 접근해야 한다. 이를 통해 시스템의 유연성을 높이고 결제 게이트웨이를 교체하더라도 도메인 로직이 영향을 받지 않도록 한다.
Decision
결제 서비스의 아키텍처는 다음과 같이 설계된다.
- 도메인 레이어에서 결제 로직을 정의한다.
- 외부 결제 게이트웨이는 포트 인터페이스를 통해서만 참조된다.
- 결제 게이트웨이에 대한 의존성은 어댑터 패턴을 통해 관리한다.
Alternatives
- 도메인 레이어에서 직접 외부 API를 호출하는 방식:
- 장점: 구현이 간단하다.
- 단점: 결제 게이트웨이를 교체할 때 도메인 로직을 수정해야 한다.
Consequences
- 이 아키텍처는 결제 서비스의 변경에 대한 유연성을 증가시키지만, 초기 설계 단계에서 포트 인터페이스를 정의해야 하는 추가 작업이 필요하다.