Adapter Pattern is one of the 23 Design Patterns elucidated in the most excellent Gamma And Helm book, Design Patterns: Elements of Reusable Object - Oriented Software by Gamma and Helm et al. ISBN 0201633612 , which is cited below:
Intent: Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces. (Also known as Wrapper)
Design Pattern Classification: Structural Object (can be Structural Class too with Multiple Inheritance languages.)
Use the Adapter pattern when:
- you want to use an existing class, and its interface does not match the one you need.
- you want to create a reusable class that cooperates with unrelated or unforeseen classes, that is, classes that don't necessarily have compatible interfaces.
- (object adapter only) you need to use several existing subclasses, but it's impractical to adapt their interface by subclassing every one. An object adapter can adapt the interface of its parent class.
A class adapter uses multiple inheritance to adapt one interface to another. Since we can't do this with VFP, we can skip this variation and move on.
An object adapter relies on object composition:
- Target -defines the domain-specific interface that Client uses.
- Client -collaborates with objects conforming to the Target interface.
- Adaptee -defines an existing interface that needs adapting.
- Adapter -adapts the interface of Adaptee to the Target interface.
See also: VFP Design Pattern Catalog
Category Design Patterns
( Topic last updated: 2005.05.19 09:24:27 AM )