Design patterns·Objects, messages and the principles
the thing most likely to change is the only thing behind the interface, and nobody outside can name it.
Information hiding
Also calledhiding decisions, Parnas criteria
Parnas's original criterion for decomposing a system: each module hides one decision that is likely to change, so the change stays inside it. It predates encapsulation as a language feature and is a stronger idea than it — private fields hide data, information hiding hides a decision. The test is not whether the fields are private but whether you could change the decision without editing anything outside the module.