Encapsulate what varies
Encapsulate what varies. Identify the aspects of your application that vary and separate them from what stays the same
Design principle: Identify the aspects of your application that vary and separate them from what stays the same. In other words, take the parts that vary and encapsulate them, so that later you can alter or extend the parts that vary without affecting those that don’t.