A Smart Proxy design pattern is similar to that of the Adapter (Chapter 4) and the Bridge (Chapter 5) design patterns. All three patterns implement an interface expected by a client. By the same token, each design pattern delegates client requests to some other object that performs the task. Where each design pattern differs is in its purpose.