Design Patterns

Three patterns, each in its own article with code. Optimistic concurrency detects when two people change the same data, so neither change is silently lost. Sagas and process managers coordinate a business process that spans several services, without a distributed transaction. Memoization runs a function once and reuses its result. The Optimistic concurrency and Distributed processes guides go further on the first two.

3 articles