Module 92: Architecture Patterns
Goal: know the main ways to structure a software system (monoliths, modular monoliths, microservices, layered and clean architecture), what each is good and bad at, and how to choose one for a real team and a real problem.
You'll need: your booking-platform design from Module 91, and your CRM backend from Levels 4 and 5 to compare against.
Lessons
- 1Monoliths15–25 minutes✓
- 2Microservices15–25 minutes✓
- 3Layered architecture15–25 minutes✓
- 4Clean architecture15–25 minutes✓
- 5Choosing a pattern15–25 minutes✓
🛠️Module practice: Project A, part 2, an architecture choice
- A modular-monolith module map for the booking platform, with responsibilities, interfaces and owned tables.
- A microservices alternative with the new problems it creates.
- A feature-first, layered
bookingsmodule with unit-tested services. - A clean-architecture
BookSessionuse case with ports, adapters and tests using fakes. - An ADR choosing the architecture, with extraction signals.
✅Module check
Explain in a few sentences, in your own words:
What are the main architecture patterns, and how do you choose between them?
Show a good answer
A good answer mentions: monoliths (one deployable; simple, fast, easy transactions, but can tangle) and modular monoliths with strict module boundaries; microservices (independent deployment and scaling by business capability, at the cost of distributed failures, consistency, operations and testing; beware distributed monoliths); layered architecture (presentation, application, data access, best organised by feature first); clean or hexagonal architecture (a framework-free core with ports and adapters, dependencies pointing inward, for rich business rules); and choosing by team size, domain, load, reliability needs and operational maturity, usually starting with a modular monolith and extracting services only for clear reasons, recorded in an ADR.
📝Module quiz
10 questions · 10 marks each · 100 marks in all · pass mark 70% · retry as often as you like ·
