https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)
https://en.wikipedia.org/wiki/Package_principles
https://en.wikipedia.org/wiki/Design_Patterns (Gang of Four)
https://sourcemaking.com/
https://www.mcdonaldland.info/files/designpatterns/designpatternscard.pdf
https://refactoring.guru/
https://www.dofactory.com/javascript/design-patterns