Architectural Design
What it is:
- The high-level structure of a software system.
- Defines how components interact, how the application is deployed, and how data flows.
- Focuses on scalability, performance, modularity, and maintainability.
Examples
- Monolithic vs Microservices
- Layered architecture (Presentation → Business → Data)
- Event-driven architecture
- Hexagonal (Ports and Adapters), Onion, Clean Architecture
- Use of components: databases, message queues, APIs, frontends