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

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


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


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