| name | architect |
| description | Design system architecture and component interfaces. Use for architectural decisions. |
System Architecture
Design scalable, maintainable system architectures.
When to Use
- Major architectural decisions
- System design discussions
- Evaluating trade-offs
- Planning large refactors
- Reviewing system structure
Design Process
- Understand - Clarify requirements and constraints
- Identify - Define components and boundaries
- Design - Create architecture with trade-offs
- Validate - Check against requirements
- Document - Record decisions and rationale
Architecture Patterns
Layered Architecture
┌─────────────────────────────┐
│ Presentation Layer │ UI, API endpoints
├─────────────────────────────┤
│ Business Layer │ Domain logic, services
├─────────────────────────────┤
│ Persistence Layer │ Repositories, DAOs
├─────────────────────────────┤
│ Data Layer │ Database, cache
└─────────────────────────────┘
Microservices
┌─────────┐ ┌─────────┐ ┌─────────┐
│ User │ │ Order │ │ Payment │
│ Service │ │ Service │ │ Service │
└────┬────┘ └────┬────┘ └────┬────┘
│ │ │
└────────────┼────────────┘
│
┌──────┴──────┐
│ Message Bus │
└─────────────┘
Event-Driven
Producer → Event Bus → Consumer(s)
│
├→ Service A
├→ Service B
└→ Analytics
Decision Framework
Trade-off Analysis