Understanding Design Patterns

This is Lugh’s first trial course. The topic was chosen because it’s technical but not domain-dangerous (no medical accuracy concerns), the source material is well-structured, and the learner (Chris) has existing expertise to evaluate output quality.

Source materials

  • Gang of Four: Design Patterns: Elements of Reusable Object-Oriented Software (1994)
  • refactoring.guru/design-patterns — 22 patterns with visual explanations and Ruby code examples

Reference syllabus

Syllabus was hand-generated by Claude as a reference point — not by the Lugh pipeline. It exists as a benchmark: when the Stage 0 agent generates a syllabus for this topic, compare it against this one to evaluate quality.

Key things the reference syllabus got right that the agent should also get right:

  • Groups patterns by problem (wrapper patterns, communication patterns) not by GoF book order
  • Episode 2 bridges existing Rails knowledge to named patterns (the “shaky” path)
  • Episode 10 covers when not to use patterns — judgment, not just catalog
  • Honest about what Depth 2 doesn’t cover
  • Ruby/Rails examples throughout, matched to the learner’s stack

Depth selection

This course was scoped at Depth 2 (Functional Literacy) — appropriate for a working developer who uses patterns implicitly and wants the vocabulary and judgment to use them deliberately.

Depth 1 (Awareness) would be: “My PM keeps saying ‘use a factory pattern’ in code reviews — what does that mean?” — maybe 2 episodes.

Depth 3 (Deep Understanding) would add: pattern composition, GoF criticism and alternatives, patterns in functional programming, designing custom patterns, the SOLID/pattern relationship. Maybe 15 episodes.