Adapter is used to adapt to incompatible interfaces. It's more directed from the client (those who consume the object) perspective. A client expects an interface to be of particular type and adapter plays a role in filling that gap.
It's more from making it easier for the client to adapt to other third party libraries within there own by adapting to it.
Proxy on the other hand represents a standin object for the real object. This is required when the real object is complex to create, is not available, or for authentication purpose. For e.g. web service proxy, proxy authentication server etc.
Proxy can be categorized into
Rajesh Pillai, Jul 31, 2010