Behavioral patterns under failure and change
This required comparison follows the 19 core lessons, especially L02/L03. It retains the EventBus/Editor package from the incoming curriculum branch: live cancellation, close/disposal, immutable history snapshots and valid no-ops that preserve redo. These intentionally differ from the core Subject/History policies; consult the comparison table.
Its original standalone estimate was 18–26 hours. In the combined module, reuse core definitions, general failure reasoning and shared assessment evidence, and budget 10–16 additional focused hours: targeted lessons/trace comparison 3–4, implementation/evidence 5–8, assessment/repair/recheck 2–4. The combined module is 110–161 hours. These are author estimates awaiting pilots; do not add both the standalone and integrated allocations.
Sequence
The four lesson filenames retain their earlier numeric prefixes to preserve links. In the combined learning sequence they are R1–R4 after core lesson 19.
- Delivery semantics.
- Ownership and lifecycle.
- Undo/redo state.
- Failure and retry boundaries.
- Trace practice, runtime comparison lab and independent assessment.
The extension strengthens runtime evidence; original practice for Strategy, Template Method, State, Iterator and Chain of Responsibility remains required. Async event processing, durable messaging, concurrency control and distributed compensation remain later systems topics. This lab is single-threaded and in-memory.
Selective reading
Full-book reading is not required. Reuse the existing reading guide for Head First Design Patterns and GoF’s Observer/Command/State discussions. No purchase or book conversion is necessary for this extension.
- Microsoft’s Observer documentation: identify provider, subscription and disposal responsibilities. Its ordering is not specified; our lab explicitly chooses registration order. Do not transfer one API’s semantics to another merely because both use Observer.
- Amazon Builders’ Library: making retries safe: focus on request identity, duplicate intent and effect coordination. Use it to explain the crash windows in the local written task, not as an instruction to build a distributed service here.
Primary-source pages checked on 2026-10-22. Local examples, contracts and code are original. Independent review and learner calibration remain pending.