Reinventing the Transaction Script
summary
Argues that classic Transaction Script becomes practical and testable by using F#-style functional techniques: model workflows as workflows as functions with small composable steps, represent inputs/outputs with composable domain types (discriminated unions and records), and keep a deterministic core with IO at the edges. Shows card-dealing and payment examples, explains bounded contexts, demonstrates easier refactoring, fewer cross-cutting interfaces, and deployment as modular monoliths, containers or serverless lambdas.
AI-written summary · about
chapters (11)
- 0:00Intro
- 1:32What is a "Transaction Script"?
- 4:33Transaction scripts have a bad rep
- 10:30Lego Philosophy
- 21:16Introducing "Workflows"
- 22:28Implementing workflows
- 33:25Why "Bounded Context"?
- 35:48Reinventing the Transaction Script
- 37:36Pros and cons of Transaction Scripts
- 39:22Object Oriented workflow
- 56:573 different architectures...
related talks
01h 01mMoving IO to the edges of your app: Functional Core, Imperative Shell
01h 06mFunctional Design Patterns
47mLessons Learned using PureScript to build Mobile App Dev Framework
24mKeeping the flow going: Data-flow oriented workflow systems
43mFrom chaos to elegance refactoring complex workflows with events
24mBuilding Software Architecture from First Principles
58mFrom Zero to Live with Functional JavaScript Applications (Part 2)
24mBuilding Software Architecture from First Principles
