🏗️ Reading: Architecture Descriptions
3 exercises — read a real-style service architecture document for a Payment microservice. Extract component responsibilities, understand design decisions, and reason about system behavior.
How to read architecture documents
- Summary / Overview → what the service does and what it doesn't do (boundaries)
- Components section → the building blocks and their responsibilities
- Key Design Decisions → the "why" — trade-offs the team made consciously
- Look for: who calls whom, what is synchronous vs. async, what data is stored where
- Arrows and dependencies: "A calls B" means A depends on B
0 / 3 completed
1 / 3
Payment Service — Architecture Overview
{ex.passage} According to the architecture document, what is the purpose of the Provider Adapter component?
The Provider Adapter abstracts the payment provider — making it swappable:
The document says: "Abstracts the External Payment Provider. Currently wraps Stripe's API. Designed to be swappable — switching providers requires only changing this adapter without touching the Business Logic Layer."
This is the Adapter design pattern:
This is called "loose coupling" — components depend on abstractions, not concrete implementations. It reduces vendor lock-in and makes the system easier to maintain and test.
Architecture document vocabulary:
The document says: "Abstracts the External Payment Provider. Currently wraps Stripe's API. Designed to be swappable — switching providers requires only changing this adapter without touching the Business Logic Layer."
This is the Adapter design pattern:
- The Business Logic Layer calls a consistent internal interface
- The Adapter translates those calls into whatever the external provider (Stripe, PayPal, etc.) requires
- If the company switches from Stripe to Adyen, only the Adapter changes — no other layer is affected
This is called "loose coupling" — components depend on abstractions, not concrete implementations. It reduces vendor lock-in and makes the system easier to maintain and test.
Architecture document vocabulary:
- abstracts → hides implementation details behind an interface
- swappable → can be replaced without affecting surrounding components
- adapter → translates between two incompatible interfaces
- standalone microservice → an independently deployable service with its own database and responsibilities