Compose Software Like Nature Would
summary
Claims that composing many tiny Ruby components with strong boundaries produces adaptable, maintainable, resilient systems, and demonstrates it by refactoring a brittle certificate feature into three concrete parts—Certificate, Template, S3File—and a coordinator that can swap an S3 saver for a temp-file saver. Uses Ruby folders/modules, dependency injection, controllers/background jobs/mailers as edges for side effects, shows systems can grow to a thousand components and remain manageable, and advises deterministic cores and push side effects to edges.
AI-written summary · about
chapters (10)
- 0:00Adaptive software design
- 2:29Software adaptation struggles
- 6:02Cellular boundaries as components
- 9:13Biology lessons for OO design
- 13:30Managing complexity in systems
- 15:41Code like multicellular life
- 18:29Isolating side effects
- 22:09Risky operations at edges
- 25:20Iterative run and tumble
- 28:52Principles for composable software
related talks
33mRefactoring Towards Component-based Rails Architectures
32mComponent-based Architectures in Ruby and Rails
30mCompose All the Things
37mBuilt to last: A domain-driven approach to beautiful systems
35mSSR with Micro-Frontends: How Composition Works with Modern Frameworks
20mBuild Systems, Not Code
57mComponent Driven Repo for a Component Driven World
05mLightning Talks from Dorian Marie
