Skip to content

Pattern Clinic

Students receive a design problem and compare at least two candidate patterns plus a non-pattern alternative.

Required reasoning

For each alternative:

  • context and forces;
  • dependency changes;
  • expected future changes;
  • effect on testability/understandability;
  • implementation/migration cost;
  • failure mode if the prediction about future change is wrong.

The winning design is the one best supported by the stated forces—not the one with the most recognized pattern names.