Software Design Plugin
Software design methodology - deep modules, design by contract, GoF pattern selection, legacy code seams, and design by pseudocode
Skills in this plugin
6- ▌ Design Patterns · laurigates bundleSelect a design pattern from a symptom — strategy, observer, factory, adapter, decorator. Use when a structure resists change, or choosing between Gang-of-Four patterns.
- ▌ Design Pseudocode · laurigatesDesign a routine by stepwise refinement — pseudocode the intent before coding, then promote it to comments. Use when designing a complex function or non-trivial algorithm.
- ▌ Design By Contract · laurigatesDesign with explicit contracts — preconditions, postconditions, invariants, guard clauses. Use when designing a function/class, hardening a boundary, or adding assertions.
- ▌ Design Deep Modules · laurigatesJudge interface depth — deep modules hide complexity behind small interfaces. Use when designing a module/API, reviewing a class boundary, or reducing complexity.
- ▌ Design Legacy Seams · laurigatesGet legacy code under test before changing it — find seams, write characterization tests. Use when changing untested code, breaking dependencies, or taming legacy.
- ▌ Design Diy Vs Dependency · laurigatesEvaluate a transparent DIY reimplementation before depending on a heavy single-purpose tool — GUI wrapper, bundled runtime, unaudited or non-cross-platform binary. Use when a task is about to install such a tool, or when auditing an existing dependency for removal.