This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDF The popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
“Next time some kid shows up at my door asking for a code review, this is the book that I am going to throw at him.”
–Aaron Hillegass, founder of Big Nerd Ranch, Inc., and author of Cocoa Programming for Mac OS X
Unlocking the Secrets of Cocoa and Its Object-Oriented Frameworks
Mac and iPhone developers are often overwhelmed by the breadth and sophistication of the Cocoa frameworks. Although Cocoa is indeed huge, once you understand the object-oriented patterns it uses, you’ll find it remarkably elegant, consistent, and simple.
Cocoa Design Patterns begins with the mother of all patterns: the Model-View-Controller (MVC) pattern, which is central to all Mac and iPhone development. Encouraged, and in some cases enforced by Apple’s tools, it’s important to have a firm grasp of MVC right from the start.
The book’s midsection is a catalog of the essential design patterns you’ll encounter in Cocoa, including
And that’s not all of them! Cocoa Design Patterns painstakingly isolates 28 design patterns, accompanied with real-world examples and sample code you can apply to your applications today. The book wraps up with coverage of Core Data models, AppKit views, and a chapter on Bindings and Controllers.
Cocoa Design Patterns clearly defines the problems each pattern solves with a foundation in Objective-C and the Cocoa frameworks and can be used by any Mac or iPhone developer.
Part I: One Pattern to Rule Them All 1
Chapter 1: Model View Controller 2
Chapter 2: MVC Analyzed and Applied 17
Part II : Fundamental Patterns 28
Chapter 3: Two-Stage Creation 29
Chapter 4: Template Method 43
Chapter 5: Dynamic Creation 53
Chapter 6: Category 63
Chapter 7: Anonymous Type and Heterogeneous Containers 77
Chapter 8: Enumerators 85
Chapter 9: Perform Selector and Delayed Perform 99
Chapter 10: Accessors 107
Chapter 11: Archiving and Unarchiving 123
Chapter 12: Copying 135
Part III: Patterns That Primarily Empower by Decoupling 147
Chapter 13: Singleton 148
Chapter 14: Notifications 159
Chapter 15: Delegates 175
Chapter 16: Hierarchies 191
Chapter 17: Outlets, Targets, and Actions 206
Chapter 18: Responder Chain 220
Chapter 19: Associative Storage 232
Chapter 20: Invocations 242
Chapter 21: Prototype 255
Chapter 22: Flyweight 263
Chapter 23: Decorators 268
Part IV: Patterns That Primarily Hide Complexity 274
Chapter 24: Bundles 275
Chapter 25: Class Clusters 282
Chapter 26: Façade 302
Chapter 27: Proxies and Forwarding 312
Chapter 28: Managers 328
Chapter 29: Controllers 337
Part V : Practical Tools for Pattern Application 364
Chapter 30: Core Data Models 365
Chapter 31: Application Kit Views 379
Chapter 32: Bindings and Controllers 393
Appendix: Resources 404