Static Class Structure
Client
Target interface.
Target
Client class requires.
Adapter
Target interface
in terms of Adaptee.
Adaptee
Dynamic Object Collaboration
Client object
works with a Target object directly
and through an adapter
(of type Target)
with an Adaptee object.
Client object that calls
operation()
on a Target object,
which performs the request and returns
to the Client.
Client calls
operation()
on an adapter object
(of type Target).
adapter calls
specificOperation()
on an Adaptee object,
which performs the request
and returns
to the adapter,
which in turn returns to the
Client.
adapter can do work of its own
before and/or after forwarding a request
to Adaptee.