Preparing the Example ProjectUnderstanding the Problems That the Pattern SolvesUnderstanding the Remote Object ProblemUnderstanding the Expensive Operation ProblemUnderstanding the Restricted Access ProblemUnderstanding the Proxy PatternSolving the Remote Object ProblemSolving the Expensive Operation ProblemSolving the Restricted Access ProblemImplementing the Proxy PatternImplementing the Remote Object ProxyImplementing the Expensive Operation ProxyImplementing the Access Restriction ProxyVariations on the Proxy PatternImplementing a Reference Counting ProxyUnderstanding the Pitfalls of the Proxy PatternExamples of the Proxy Pattern in CocoaApplying the Pattern to the SportsStore ApplicationPreparing the Example ApplicationDefining the Protocol, Factory Method, and Proxy ClassUpdating the Product Data StoreSending Stock Level UpdatesSummary