Complexity-First Decision Tree | CD Smith

Complexity-First Decision Tree

Start at Q1 and answer each question. A Yes points to the pattern that fits that need. A No sends you to the next question. The questions run from the most specialized needs to the most general, so the first Yes is usually the most specific fit, and the last box is the safe default.

Yes: this pattern fitsNo: try the next question

Walk the tree: click Yes or No on Q1 to begin.

    Patterns combine

    After a Yes, keep going. Q1–Q7 often describe one part of a system, while Q8–Q11 decide its overall shape. Event sourcing inside one module of a modular monolith, with events between modules, is a common and sensible result.

    Where MVC and MVVM fit

    They are presentation patterns, not system architectures. Pick MVC for server-rendered web apps and MVVM for data-bound clients such as WPF, .NET MAUI or SwiftUI, inside whichever architecture the tree gives you.

    When in doubt, go lower

    A wrong Yes near the top costs more than a wrong No. If an answer is "maybe" or "someday", treat it as No and revisit when the need is real. Moving down the tree later is cheaper than moving up.