Software Architecture: Boundaries and Patterns
Choose module boundaries from change patterns and use architecture styles or patterns only when they solve a concrete pressure.
Curriculum (9 steps)
A module groups decisions that are likely to change together and hides details other modules do not need.
Follow the key state changes and boundary checks involved in module boundaries should follow change.
An interactive concept flow for module boundaries should follow change, from its assumptions through the main operation and boundary checks.
Follow the key state changes and boundary checks involved in choosing an architecture style from constraints.
An interactive concept flow for design patterns as named tradeoffs, from its assumptions through the main operation and boundary checks.
Refactor a checkout calculation so rate rules can vary without spreading carrier-specific branches through the order workflow.
Explain the model, execution steps, complexity, and limits of design patterns as named tradeoffs.