Roadmap › .NET Project Architectures & Folder Structures — Layered, Clean, Onion, Vertical Slice › Module: Architecture Styles
Lessons in this course (8)
8. Choosing an architecture
AdvancedMediumLesson 8 of 8
| Situation | Recommendation |
|---|---|
| Small CRUD app, short life, 1–2 developers | Single project with folders (Controllers, Services, Data) — keep it simple |
| Business-heavy app, long life, several developers | Clean/Onion architecture or Vertical Slice + rich domain where needed |
| API with many independent features | Vertical Slice (+ CQRS) |
| Growing product, several teams | Modular monolith |
| Very large org, independent scaling/deployments | Microservices (each service internally clean/vertical) |
| Legacy Web Forms/MVC 5 | Extract BLL/DAL into libraries first, then migrate UI |
Write the decision in an ADR (Architecture Decision Record): context, decision, consequences. Enforce it with architecture tests so it doesn't erode.