Compare commits
3 commits
forge/SPRI
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| e0e33a73be | |||
| 99a0f07095 | |||
| fefbf1c42b |
4 changed files with 13 additions and 28 deletions
|
|
@ -1,3 +0,0 @@
|
||||||
# SPRING-ARC-BOUNDARY-1783841726-attempt-2-run-8f592f6458bd
|
|
||||||
|
|
||||||
Forge 이슈 작업 브랜치 `forge/SPRING-ARC-BOUNDARY-1783841726-attempt-2-run-8f592f6458bd`.
|
|
||||||
3
.forge/iss-3f29c0d83954-attempt-1-run-62fa40d5b77b.md
Normal file
3
.forge/iss-3f29c0d83954-attempt-1-run-62fa40d5b77b.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
# iss-3f29c0d83954-attempt-1-run-62fa40d5b77b
|
||||||
|
|
||||||
|
Forge 이슈 작업 브랜치 `forge/iss-3f29c0d83954-attempt-1-run-62fa40d5b77b`.
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
# ADR: 결제 경계 정의
|
|
||||||
|
|
||||||
## Context
|
|
||||||
현재 시스템에서 결제를 처리하는 방식은 여러 서비스 간 의존성이 크고, 특정 결제 게이트웨이에 종속적입니다. 이를 개선하기 위해 결제 서비스의 경계를 명확히 하고 독립성을 확보하는 것이 필요합니다.
|
|
||||||
|
|
||||||
## Decision
|
|
||||||
결제 서비스는 외부 결제 게이트웨이에 대한 포트 인터페이스를 정의하고, 도메인 모델에서 애드블레이터를 직접 참조하지 않도록 설계합니다. 이를 통해 결제 관련 기능을 서비스와 리포지토리 계층으로 분리하여 각 층의 독립성을 강화합니다.
|
|
||||||
|
|
||||||
## Alternatives
|
|
||||||
1. 결제 서비스를 기존 방식대로 유지하고 결제 게이트웨이에 직접 의존하도록 하는 것
|
|
||||||
- 장점: 기존 코드 변경 없음
|
|
||||||
- 단점: 유지보수 및 확장성 저하
|
|
||||||
2. 결제 서비스를 완전 독립형으로 개발
|
|
||||||
- 장점: 독립성 극대화
|
|
||||||
- 단점: 초기 개발 비용 증가
|
|
||||||
|
|
||||||
## Consequences
|
|
||||||
양방향 의존성을 제거함으로써 시스템 전체의 유지보수성이 향상되고, 독립적으로 결제 서비스를 변경할 수 있는 능력이 확보됩니다. 그러나 초기 설계와 변경 과정에서 추가적인 리소스를 소요할 수 있습니다.
|
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
| 패키지 | 책임 | 금지 의존성 |
|
# 패키지 맵
|
||||||
|-----------|----------------------------------------|-------------|
|
|
||||||
| controller | 사용자 요청 처리 및 응답 반환 | service |
|
| 패키지 | 책임 | 금지 의존성 |
|
||||||
| service | 비즈니스 로직과 제어 흐름 관리 | repository |
|
|----------------|----------------------------------------------|------------------|
|
||||||
| repository | 데이터베이스와의 상호작용 | domain |
|
| controller | 외부 요청 수신 및 처리 | repository |
|
||||||
| domain | 비즈니스 규칙과 핵심 엔티티 정의 | integration |
|
| service | 비즈니스 로직 수행 및 데이터 처리 | integration |
|
||||||
| integration | 외부 시스템과의 인터페이스 관리 | controller |
|
| repository | 데이터 저장소와의 상호작용 | controller, domain |
|
||||||
|
| domain | 핵심 비즈니스 도메인 모델 | integration |
|
||||||
|
| integration | 외부 서비스와의 통신 | controller, domain |
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue