Building Software Architecture from First Principles
summary
Claim: software architecture reduces to three concrete first principles — domain centricity, pure functional core, semantic typing — and three composable functions (init, decide/update/evolve) that let the same business logic run as a transaction script or as event sourcing without rewiring the core. The talk demonstrates mapping to event modeling (Adam Dimmitri), cites Unison/Haskell for algebraic effects, and claims better testability, easier parallelization, and practical separation of IO at the edges.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:26First principles in software architecture
- 3:35Layered architecture patterns
- 5:04Domain centricity
- 7:13Pure functions benefits
- 8:36Functional core principle
- 9:59Validation on the edge
- 11:02Business logic abstraction
- 12:25Transaction script pattern
- 14:12Event sourcing
- 16:40Unifying patterns
- 18:26Side effects modeling
- 20:13Event modeling
- 22:22Programming model patterns
- 23:03Summary
related talks
24mThe too many faces of Architecture
51mA Contrarian View of Software Architecture
45mSoftware Architecture for Humans!
46mMaster Software Architecture: From Simplicity to Complexity
40mFrom Domain Boundaries to Software Architecture
01h 09mAgile Software Architecture
52mEvolving a Pragmatic, Clean Architecture A Craftsman's Guide
57mDomain Architecture Isomorphism and the Inverse Conway Maneuver
