assigning a highly cohesive set of responsibility to an artificial or convenience behavior class that does not represent a problem domain concept something made up, in order to support high cohesion, low coupling, and resuse.
how to assign responsibilities to objects, subsystems, and systems so that the variations or instability in these elements do not have an undesirable impact on other elements
identifying points of predicted variation or instability and assigning responsibilities to create a stable "interface" around them.
OCP == PV
protecting the existing code and design against the change