SPECIAL OFFER
Use codeBACKTOLEARNduring checkout to save 50% on books, eBooks, & videos.Shop now.
Register your productto gain access to bonus material or receive a coupon.
This PDF will be accessible from yourAccountpage after purchase and requires the freeAdobe® Reader®software to read it.
The 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 ofCocoa 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 Patternsbegins 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 casesenforcedby 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 Patternsaccompa刻意隔离28设计模式nied 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 Patternsclearly 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.
Preface xix
Part I: One Pattern to Rule Them All1
Chapter 1: Model View Controller 2
Chapter 2: MVC Analyzed and Applied 17
Part II:Fundamental Patterns28
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 Decoupling147
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 Complexity274
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 Application364
Chapter 30: Core Data Models 365
Chapter 31: Application Kit Views 379
Chapter 32: Bindings and Controllers 393
Appendix: Resources 404
Index 407