diff --git a/.forge/SPRING-ARC-SPLIT-1783827796-attempt-5.md b/.forge/SPRING-ARC-SPLIT-1783827796-attempt-5.md deleted file mode 100644 index a0dbce9..0000000 --- a/.forge/SPRING-ARC-SPLIT-1783827796-attempt-5.md +++ /dev/null @@ -1,3 +0,0 @@ -# SPRING-ARC-SPLIT-1783827796-attempt-5 - -Forge 이슈 작업 브랜치 `forge/SPRING-ARC-SPLIT-1783827796-attempt-5`. diff --git a/docs/architecture/adr-payment-boundary.md b/docs/architecture/adr-payment-boundary.md deleted file mode 100644 index 8bd87fe..0000000 --- a/docs/architecture/adr-payment-boundary.md +++ /dev/null @@ -1,20 +0,0 @@ -# Architectural Decision Record for Payment Boundary - -## Context -In order to ensure the integrity and separation of concerns within the payment processing system, we need to define firm boundaries between various components: Controller, Service, Repository, Domain, and Integration. This helps in minimizing unintended dependencies that may arise during development. - -## Decision -The payment boundary will be strictly defined such that: -- Controllers interact only with Services. -- Services interact only with Repositories and Domains (no direct interaction between Services and Controllers). -- Repositories handle data access and business logic is encapsulated within Services. -- Integration with external systems is managed separately and will not cross into the Service layer. - -## Alternatives -1. Allow Services to directly interact with Repositories for data retrieval. - **Consequences:** Increases coupling and can lead to issues with data integrity and business logic being bypassed. -2. Utilize an Event-Driven Architecture for communications between Services and Integrations. - **Consequences:** Increased complexity and potential performance hits. - -## Consequences -By setting these boundaries, we are ensuring that changes in one component do not inadvertently affect others, thus maintaining a clean architecture that adheres to SOLID principles. Scalability and maintainability of the system are expected to improve as team members can work more independently without overlapping concerns. \ No newline at end of file diff --git a/docs/architecture/package-map.md b/docs/architecture/package-map.md deleted file mode 100644 index 9cff104..0000000 --- a/docs/architecture/package-map.md +++ /dev/null @@ -1,9 +0,0 @@ -# Package Responsibility and Forbidden Dependencies - -| Package | Responsibility | Forbidden Dependencies | -|---------------|-------------------------------------------------------|-------------------------------| -| Controller | Handles incoming requests and responses | Service -> Repository | -| Service | Contains business logic and service level operations | Repository -> Service | -| Repository | Manages data persistence and retrieval | Controller -> Repository | -| Domain | Defines domain model and logic | Not applicable | -| Integration | Interfaces with external services | Service -> Integration | \ No newline at end of file diff --git a/docs/architecture/transaction-sequence.md b/docs/architecture/transaction-sequence.md deleted file mode 100644 index 683c128..0000000 --- a/docs/architecture/transaction-sequence.md +++ /dev/null @@ -1,39 +0,0 @@ -```mermaid -sequenceDiagram - participant Controller - participant Service - participant Repository - participant Domain - participant Integration - - Controller->>Service: processPayment() - Service->>Repository: savePayment() - Repository-->>Service: paymentSaved - Service-->>Controller: paymentProcessed - - alt External API call - Service->>Integration: sendPaymentRequest() - Integration-->>Service: paymentResponse - end - - opt Within DB transaction - Service->>Repository: beginTransaction() - Repository-->>Service: transactionStarted - Service->>Repository: commitTransaction() - end - Note over Service: Success (commit) - - opt External Failure - Service->>Integration: sendPaymentRequest() - Integration-->>Service: paymentFailure - Service->>Repository: rollbackTransaction() - Repository-->>Service: transactionRolledBack - end - - opt DB Failure - Service->>Repository: throwException() - Repository-->>Service: exceptionOccurred - Service->>Repository: rollbackTransaction() - Repository-->>Service: transactionRolledBack - end -``` \ No newline at end of file