Functional Architecture for the Practical Rubyist
summary
Argues for modeling behavior as small functional objects (objects named by a verb with a call method) and state as immutable value objects, wired together with dependency injection via dry-system and companion gems (dry-rb, dry-validation, dry-types). Shows concrete examples: an ImportProducts pipeline that downloads a feed, maps to repository writes, and is easy to mock in tests. Claims improved SOLID compliance, a dependency graph that becomes a directed acyclic graph, and reports Icelab shipped 10+ apps in two years using this approach successfully.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:03Functional architecture shift
- 3:46Functional objects
- 7:28Handling data with types
- 9:18SOLID principles and design
- 15:17Testing and dependency graph
- 18:25Emergent modular architecture
- 20:57Tooling and dependency injection
- 24:21Conclusion and summary
- 26:28Q&A session
related talks
39mFunctional Architecture for the Practical Rubyist
35mReal-world Functional Ruby
44mReal-World Functional Ruby
40mReinvesting in Ruby
42mTaking inspiration from the functional world
27mA New Ruby Toolbox
41mAPPLICATION ARCHITECTURE: BOUNDARIES, OBJECT ROLES, & PATTERNS
27mFunctional Ruby and the (big) dependency diet
