SOLID Principles II

lecture
java
solid

See csse2002 for course logistics. Continues 2026-04-02-refactoring (Week 6) — Single Responsibility and Open-Closed were covered there; this lecture covers the remaining three SOLID principles.

Today’s outline

  1. Liskov Substitution Principle (and substitution with contracts)
  2. Interface Segregation Principle
  3. Dependency Inversion Principle

All content, including the worked examples, is in java-solid-principles (updated this week with the L, I, D sections).

Applied class

No separate applied-class topic on SOLID this week — see week7-tutorial-black-box-and-glass-box-testing for this week’s applied class (black-box/glass-box testing, a continuation of java-testing from Week 5).