How Design Patterns Encapsulate Implementations

Several of the design patterns I have presented have the characteristic that they shield implementation details from a Client object. For example, the Bridge pattern hides from the Client how the classes derived from the Abstraction are implemented. Additionally, the Implementation interface hides the family of implementations from the Abstraction and its derivations as well. In the Strategy pattern, the implementations of each ConcreteStrategy are hidden. This is true of most of the patterns described by the Gang of Four: they give ways to hide specific implementations.

The value of hiding the implementations is that the patterns allow for easily adding new implementations, since the client objects ...

Get Design Patterns Explained: A New Perspective on Object-Oriented Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.