You might be wondering why I tackled single responsibility last rather than, as is more conventional, first. Partly it's because I simply found it very hard to write about, but I think it goes deeper than that: it's actually very hard to understand, partly because of the perspective issues it raises. There's no one right answer to how to observe SRP.
The official statement of the principle is “A class should have one, and only one, reason to change.” It’s not clear to me that “one reason to change” is any better defined than “single responsibility”. As I’ve said before, it’s...