From c2ff045f68dfc3f049131d29218e1a05df5feeb7 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Sun, 12 Jul 2026 02:26:03 +0000 Subject: [PATCH 1/3] forge: open work branch for SPRING-ARC-1783823159-attempt-1 --- .forge/SPRING-ARC-1783823159-attempt-1.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .forge/SPRING-ARC-1783823159-attempt-1.md diff --git a/.forge/SPRING-ARC-1783823159-attempt-1.md b/.forge/SPRING-ARC-1783823159-attempt-1.md new file mode 100644 index 0000000..edcbfce --- /dev/null +++ b/.forge/SPRING-ARC-1783823159-attempt-1.md @@ -0,0 +1,3 @@ +# SPRING-ARC-1783823159-attempt-1 + +Forge 이슈 작업 브랜치 `forge/SPRING-ARC-1783823159-attempt-1`. From d2986c5fc859527373d59c0d8c7acd264354a499 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Sun, 12 Jul 2026 02:26:18 +0000 Subject: [PATCH 2/3] =?UTF-8?q?=EA=B2=B0=EC=A0=9C=20=EC=A0=84=ED=99=98=20?= =?UTF-8?q?=EB=AA=A9=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20?= =?UTF-8?q?=EC=A0=95=EC=9D=98=20(SPRING-ARC-1783823159)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/architecture/adr-payment-boundary.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 docs/architecture/adr-payment-boundary.md diff --git a/docs/architecture/adr-payment-boundary.md b/docs/architecture/adr-payment-boundary.md new file mode 100644 index 0000000..2665739 --- /dev/null +++ b/docs/architecture/adr-payment-boundary.md @@ -0,0 +1,19 @@ +# Architectural Decision Record (ADR): Payment Boundary + +## Context +우리는 결제 시스템의 경계를 정의하고 다양한 서비스 간의 상호작용을 명확히 하고자 합니다. 결제 시스템은 사용자가 결제를 완료하는 과정에서 다양한 외부 시스템(예: 결제 게이트웨이)과 통신해야 합니다. 이 과정에서 품질, 보안 및 유지 관리성을 보장하기 위해 아키텍처 경계를 설정하는 것이 중요합니다. + +## Decision +결제 시스템은 다음과 같은 경계를 가진다: +- **도메인**: 결제와 관련된 비즈니스 로직을 담당하며, +- **애드프터**: 외부 결제 게이트웨이와의 통신을 처리하며, +- **레포지토리**: 결제 정보를 저장하고 조회하는 데이터 액세스 계층. + +이러한 경계 사이의 상호작용은 포트를 통해 이루어지며, 도메인 클래스는 애드프터에 직접 의존하지 않도록 한다. + +## Alternatives +- 외부 결제 시스템과의 직접적인 의존성을 유지하는 방법 +- 비즈니스 로직을 외부 API에 바로 연결하는 것 + +## Consequences +결정된 경계를 통해 결제 시스템의 구조가 명확해지고, 외부 변경 사항에 대한 영향을 최소화하며, 비즈니스 로직의 재사용성과 테스트 용이성을 증대시킬 수 있다. \ No newline at end of file From 58086e8ae3eec10b0ee8c5e7001eaf88bb1423b3 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Sun, 12 Jul 2026 02:26:19 +0000 Subject: [PATCH 3/3] =?UTF-8?q?=EA=B2=B0=EC=A0=9C=20=EC=A0=84=ED=99=98=20?= =?UTF-8?q?=EB=AA=A9=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20?= =?UTF-8?q?=EC=A0=95=EC=9D=98=20(SPRING-ARC-1783823159)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/architecture/package-map.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 docs/architecture/package-map.md diff --git a/docs/architecture/package-map.md b/docs/architecture/package-map.md new file mode 100644 index 0000000..e204f33 --- /dev/null +++ b/docs/architecture/package-map.md @@ -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 | \ No newline at end of file