Design patterns examples taken from the "Head First - Design Pattern" book and translate to ES6 in a Node.js environment
Defines a family of algorithms, encapsulates each one, and make them interchangeable. Strategy lets the algorithm vary independently from the clients that use it.
- Design Principle: "Identify the aspects of your application that vary and separate them from what stays the same." (cap1.p9)
- Design Principle: "Program to an interface not an implementation." (cap1.p12)
- Design Principle: "Favor composition over inheritance" (cap1.p23)