O'Reilly logo
  • Chris Perry thinks this is interesting:

A software artifact should be open for extension but closed for modification.

From

Cover of Clean Architecture: A Craftsman's Guide to Software Structure and Design, 1/e

Note

We can obey this without using the complex class diagram below. Common usage of the Repository pattern shall suffice.