Bottom-up Architecture: Bridging the Architecture-Code Gap
summary
Argues that architectural concepts belong in code so tools can verify and enforce them, demonstrating concrete instances: compile‑time errors from an annotation processor, build‑time rules with ArchUnit and jQAssistant, and reusable Java markers via jMolecules plus a Spring integration called Spring modulith. Shows enforcement of DDD rules (for example, “Aggregates must not reference other Aggregates except by identifier”), automated reduction of JPA boilerplate through code generation, and generation of up‑to‑date module diagrams and tests — all implemented and exercised on real Java projects.
AI-written summary · about
chapters (11)
- 0:00Intro
- 2:27Understandability
- 9:39Architecturally-evident code
- 15:10Tools
- 22:14Explicit concepts
- 25:00Verification
- 28:22Eliminate boilerplate
- 32:56Separation of concerns: Architectures
- 39:18Spring modulith
- 47:40Summary
- 48:55Outro
related talks
46mEnforcing Architecture in Legacy Systems
01h 34mThe Intersection of Architecture and Implementation
46mSoftware Architecture vs Code
07msoftware architecture vs code
42mSoftware Architecture vs Code
44mAspect-oriented Architecture
01h 27mWhoops! Where did my architecture go?
45mSoftware Architecture for Humans!
