Building Software Architecture from First Principles
summary
Extracts three concrete principles: domain centricity, pure functional core, and semantic typing, then shows how business logic compresses to three functions decide, evolve, init that implement both transaction scripts and event sourcing. Claims synchronous core simplifies testing and reasoning, maps unit vs integration tests, and lets architecture swap engines without rewriting domain code. Demonstrates event modeling as the specification technique and cites RavenDB as an IO backing option with production track record.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 1:26First principles in software architecture
- 3:13Layered architecture patterns
- 4:42Domain centricity
- 6:28Pure functional core
- 8:36Functional programming benefits
- 10:40Semantic typing and validation
- 12:06Abstracting business logic
- 13:58Transaction script and event sourcing
- 17:38Unifying architectural patterns
- 19:01Modeling side effects
- 20:30Event modeling
- 22:58Three first principles and future
related talks
52mEvolving a Pragmatic, Clean Architecture A Craftsman's Guide
51mA Contrarian View of Software Architecture
46mMaster Software Architecture: From Simplicity to Complexity
49mBottom-up Architecture: Bridging the Architecture-Code Gap
01h 29mArchitecture Beyond Clean & Hexagonal
44mBits and Pieces of a Great Architecture
01h 03mModern Architecture 101 for New Engineers & Forgetful Experts
50mTowards an Evolutionary Architecture
