Encapsulate what varies principle
Identify the aspects of your application that vary and separate them from what stays the same.
In
other words, if you've got some aspect of your code that is changing,
say with every new requirement, then you know you've got a behavior that
needs to be pulled out and separated from all the stuff that doesn't
changes.
Here's
another way of thinking about it, 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
As simple as this concept is, it forms the basis of every design pattern.
i.e if you have a car base class in a game, and notice that each cars exhaust will make a different noise.
encapsulate
this behavior by extracting it out of car class, and class abstract
compose an IexhaustNoise interface that exposes a ExhaustNoise() method.
No comments:
Post a Comment