Merge pull request '결제 전환 목표 아키텍처 정의' (#1) from forge/SPRING-ARC-1783823159-attempt-1 into main
This commit is contained in:
commit
c5ebc903c5
3 changed files with 31 additions and 0 deletions
3
.forge/SPRING-ARC-1783823159-attempt-1.md
Normal file
3
.forge/SPRING-ARC-1783823159-attempt-1.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# SPRING-ARC-1783823159-attempt-1
|
||||||
|
|
||||||
|
Forge 이슈 작업 브랜치 `forge/SPRING-ARC-1783823159-attempt-1`.
|
||||||
19
docs/architecture/adr-payment-boundary.md
Normal file
19
docs/architecture/adr-payment-boundary.md
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
# Architectural Decision Record (ADR): Payment Boundary
|
||||||
|
|
||||||
|
## Context
|
||||||
|
우리는 결제 시스템의 경계를 정의하고 다양한 서비스 간의 상호작용을 명확히 하고자 합니다. 결제 시스템은 사용자가 결제를 완료하는 과정에서 다양한 외부 시스템(예: 결제 게이트웨이)과 통신해야 합니다. 이 과정에서 품질, 보안 및 유지 관리성을 보장하기 위해 아키텍처 경계를 설정하는 것이 중요합니다.
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
결제 시스템은 다음과 같은 경계를 가진다:
|
||||||
|
- **도메인**: 결제와 관련된 비즈니스 로직을 담당하며,
|
||||||
|
- **애드프터**: 외부 결제 게이트웨이와의 통신을 처리하며,
|
||||||
|
- **레포지토리**: 결제 정보를 저장하고 조회하는 데이터 액세스 계층.
|
||||||
|
|
||||||
|
이러한 경계 사이의 상호작용은 포트를 통해 이루어지며, 도메인 클래스는 애드프터에 직접 의존하지 않도록 한다.
|
||||||
|
|
||||||
|
## Alternatives
|
||||||
|
- 외부 결제 시스템과의 직접적인 의존성을 유지하는 방법
|
||||||
|
- 비즈니스 로직을 외부 API에 바로 연결하는 것
|
||||||
|
|
||||||
|
## Consequences
|
||||||
|
결정된 경계를 통해 결제 시스템의 구조가 명확해지고, 외부 변경 사항에 대한 영향을 최소화하며, 비즈니스 로직의 재사용성과 테스트 용이성을 증대시킬 수 있다.
|
||||||
9
docs/architecture/package-map.md
Normal file
9
docs/architecture/package-map.md
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
# Package Responsibility Map
|
||||||
|
|
||||||
|
| Package | Responsibility | Forbidden Dependencies |
|
||||||
|
|---------------|-----------------------------------------------------|----------------------------------|
|
||||||
|
| controller | 사용자 요청을 처리하고 응답을 반환 | domain, integration |
|
||||||
|
| service | 비즈니스 로직을 수행하며, 여러 레포지토리와 통신 | controller |
|
||||||
|
| repository | 데이터베이스와의 상호작용을 담당 | service, controller |
|
||||||
|
| domain | 비즈니스 개념 모델 및 규칙을 정의 | service, controller, integration |
|
||||||
|
| integration | 외부 시스템과의 통신을 처리 | domain, service |
|
||||||
Loading…
Add table
Add a link
Reference in a new issue