Let's build components, not layers
summary
Argues that code is easier to read and evolve when organized as nested components with a clear api/internal package per component instead of horizontal layers, demonstrates a working “check engine” built in Kotlin/Java on Spring Boot (queue, runner, database, and top‑level scheduler and query APIs) and shows extraction to a modular monolith is possible. Enforces boundaries with a single ArchUnit rule blocking external access to internal packages, uses Spring auto‑configuration and SQS for the queue, and the design proves practical.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 4:50About the speaker
- 5:50Why organise code?
- 8:47What's wrong with layers?
- 12:09What's wrong with vertical slices?
- 14:36Clean / Hexagonal architecture
- 21:38Component-based architecture
- 30:58Field Study - Building a check engine component
- 43:44Why build components?
- 47:03Thank you
related talks
50mAnatomy of a Spring Boot App with Clean Architecture
33mEverything is an API
25mEverything is an API
49mBack to Basics: Crafting Quality Software in the Age of Complexity
47mModular Monoliths
21mShared Components Beyond the Design System
54mThe Golden Principles of Software Architecture Applied To Kotlin Multiplatform
50mClean Architecture with Spring
