Skip to content

Design Principles

Principles are compact statements about desirable dependency and responsibility structures. This module turns slogans into testable design reasoning.

Module objectives

  • Use change scenarios to evaluate modularity and information hiding.
  • Separate cohesion/coupling metrics from the design phenomena they approximate.
  • Apply SOLID/GRASP/contracts with awareness of trade-offs and context.
  • Reason about package/component dependency direction and stability.

Working method

For each concept, move between code, design structure, change scenarios, and evidence. Avoid pattern-name matching without explaining the underlying design problem.