결제 전환 목표 아키텍처 정의 (1/2) (SPRING-ARC-SCHEMA-1783830385)
All checks were successful
ci / test (pull_request) Successful in 7s
All checks were successful
ci / test (pull_request) Successful in 7s
This commit is contained in:
parent
bfd8645542
commit
f8ad884870
1 changed files with 13 additions and 7 deletions
|
|
@ -1,15 +1,21 @@
|
|||
# 결제 전환 목표 아키텍처 결정 기록
|
||||
# Payment Boundary Architectural Decision Record (ADR)
|
||||
|
||||
## Context
|
||||
결제 시스템의 경계를 정의하고, 외부 결제 게이트웨이와의 상호작용을 명확히 하기 위해 아키텍처 결정을 내린다.
|
||||
이 문서에서는 결제 관련 시스템의 경계를 정의합니다. 결제 시스템은 다양한 외부 결제 게이트웨이와 통신하여 트랜잭션을 처리하며, 이와 관련된 도메인 모델과 서비스를 제공합니다.
|
||||
|
||||
## Decision
|
||||
결제 도메인은 외부 결제 게이트웨이에 대한 의존성을 포트 인터페이스를 통해 관리하며, 도메인에서 직접 어댑터를 참조하지 않는다.
|
||||
결제 시스템은 포트-어댑터 패턴(또는 헥소고날 아키텍처)을 기반으로 하여 외부 결제 게이트웨이와의 의존성을 최소화합니다. 도메인 계층은 직접적으로 외부 결제 게이트웨이에 의존하지 않고, 인터페이스를 통해 이들에 접근합니다.
|
||||
|
||||
## Alternatives
|
||||
1. 도메인에서 직접 외부 결제 게이트웨이를 참조하는 방법
|
||||
2. 포트 인터페이스를 사용하지 않고 모든 의존성을 직접 관리하는 방법
|
||||
1. **직접 의존성**
|
||||
- 도메인 모델이 외부 결제 게이트웨이 API를 직접 호출.
|
||||
- 이 방식은 의존성이 강해지며, 결제를 처리하는 로직의 변경이 필요할 때마다 도메인 모델의 변경이 필요하게 됩니다.
|
||||
|
||||
2. **서비스 레이어 사용**
|
||||
- 서비스 계층이 외부 결제 게이트웨이와의 통신을 담당.
|
||||
- 의존성을 줄이기는 하였으나, 도메인 계층과 서비스 계층 간의 서비스 호출이 필요하여 복잡성이 증가할 수 있습니다.
|
||||
|
||||
## Consequences
|
||||
- 외부 결제 시스템과의 의존성이 줄어들어 테스트 용이성이 증가한다.
|
||||
- 시스템의 유연성이 향상되어 다양한 결제 게이트웨이와의 통합이 용이해진다.
|
||||
- **긍정적인 결과**: 도메인 모델의 변경 없이 결제 게이트웨이를 교체할 수 있어 확장성이 증가합니다.
|
||||
- **부정적인 결과**: 인터페이스의 변경이 발생할 경우, 해당 인터페이스를 구현한 어댑터에 대한 유지보수가 필요합니다.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue