FREE SHIPPINGON EVERY ORDER!
The only textbook that shows Mac developers how to leverage object-oriented design patterns found in the Cocoa frameworks
- Apple's documentation doesn't always explain what the patterns are or what they should mean to a developer.
- This textbook teaches old and new school programmers the ins and outs of the Cocoa Frameworks and how they apply to the design patterns found in traditional programming.
- Foreword by Aaron Hillegass, author of Cocoa Programming for Mac OS X. Programmers are often overwhelmed by the breadth and sophistication of Cocoa when they first start using the frameworks. Cocoa is huge, but it's also elegant in its consistency and simplicity which result from the application of patterns throughout its design. Understanding the patterns enables the most effective use of the frameworks and serves as a guide for writing applications.
The patterns presented in this textbook provide a coherent map leading the reader through the design of Cocoa itself and how to best use Cocoa. Each design pattern includes a description of the problem(s) and motivation for applying the pattern. Since Cocoa contains many patterns that are applicable in diverse situations, the patterns have been carefully organized so that the same problems in different contexts are readily identified. In some cases, related patterns that should be avoided are also identified.
The detailed description of each pattern includes diagrams of the relationships between objects in the pattern. The benefits of using the pattern are explained along with examples of the pattern's use within Cocoa. Finally, each pattern identifies the consequences that naturally result from its use. The consequences and trade-offs of design alternatives are crucial when evaluating which patterns to use in a particular situation.
The primary goal of this textbook is to supply insight into the design and rationale of Cocoa, but with that insight, you'll be able to effectively re-use the tried and true patterns in your own software - even if you aren't using Cocoa.