Class Dependency Ripple: SOLID Coupling & Change-Impact Simulator
Interactive object-oriented design simulator: build a class/interface dependency graph, inject tight coupling or extract interfaces, and watch a real breadth-first change-ripple propagate through the codebase using Robert C. Martin's Instability/Abstractness metrics.
This simulation puts a small object-oriented codebase in front of you as a 3D dependency graph: amber wireframe nodes are interfaces, solid nodes are concrete classes, and every edge is a real "depends on" relationship. Instead of a generic software-development-lifecycle overview, it narrows in on one concrete, measurable mechanic from object-oriented design — coupling and change propagation — using Robert C. Martin's Instability (I) and Abstractness (A) metrics from the Stable Dependencies and Dependency Inversion principles (two of the five SOLID principles). Pick any class and trigger "Modify" to watch a breadth-first search ripple backward through every class that transitively depends on it, reporting the exact blast radius of that change. Inject a tight coupling edge to see the graph's average instability and "distance from the main sequence" get worse in real time, or extract an interface to watch a class in the "zone of pain" move back toward the healthy D ≈ 0 region — the same trade-off every refactoring decision in a real codebase has to make.
This simulation allows you to design and develop a simple software application using object-oriented principles, exploring the key stages of the software development lifecycle from requirements gathering to testing. Participants will learn about iterative processes like Agile methodologies through hands-on experience.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install