SOLID — Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion — has been taught for three decades as five independent design principles [Martin 1996a, 1996b, 2000, 2003]. Every software engineer learns them. Every code review invokes them.

This article argues that each SOLID heuristic is not a design...