Rethinking SOLID principles in JavaScript
How to understand and apply SOLID principles