15 lines
No EOL
1.1 KiB
Markdown
15 lines
No EOL
1.1 KiB
Markdown
# Payment Boundary Decision Record
|
|
|
|
## Context
|
|
In developing the architecture for the payment processing system, our objective is to ensure a clear separation between the application logic and the payment gateways. This boundary will help maintain a clean architecture and allow for easier testing and maintainability.
|
|
|
|
## Decision
|
|
We have decided to implement a port and adapter pattern where the payment gateway is accessed via a defined interface (port) rather than being directly referenced in the domain model. This ensures that our domain logic remains agnostic of the specific implementations of payment gateways.
|
|
|
|
## Alternatives
|
|
1. Direct coupling with the payment gateway: This approach could lead to tight coupling and hinder maintainability and testability.
|
|
2. Abstracting payment logic into a service layer: While this maintains separation, it increases complexity and could introduce overhead.
|
|
|
|
## Consequences
|
|
- By adhering to the port and adapter pattern, we ensure our domain model remains clean and focused on business logic.
|
|
- Changes in payment gateway implementations can be managed without affecting the domain logic, leading to improved agility. |