Cocoa Design Patterns

Front Cover
Pearson Education, Sep 1, 2009 - Computers - 456 pages
4 Reviews

“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

  • Fundamental patterns, such as enumerators, accessors, and two-stage creation
  • Patterns that empower, such as singleton, delegates, and the responder chain
  • Patterns that hide complexity, including bundles, class clusters, proxies and forwarding, and controllers

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.


What people are saying - Write a review

Review: Cocoa Design Patterns

User Review  - hailbringer - Goodreads

+ the big plus of this book is that it is the only book dedicated to design patterns in combination with mac programming. one would expect to find more books like that, given the fact that objective-c ... Read full review

Review: Cocoa Design Patterns

User Review  - Allyn Bauer - Goodreads

A decent book for a handful of high-level patterns, but the first 1/2 of the book seems rather useless to my eyes. Read full review


I One Pattern to Rule Them All
1 Model View Controller
2 MVC Analyzed and Applied
II Fundamental Patterns
3 TwoStage Creation
4 Template Method
5 Dynamic Creation
6 Category
18 Responder Chain
19 Associative Storage
20 Invocations
21 Prototype
22 Flyweight
23 Decorators
IV Patterns That Primarily Hide Complexity
24 Bundles

7 Anonymous Type and Heterogeneous Containers
8 Enumerators
9 Perform Selector and Delayed Perform
10 Accessors
11 Archiving and Unarchiving
12 Copying
III Patterns That Primarily Empower by Decoupling
13 Singleton
14 Notifications
15 Delegates
16 Hierarchies
17 Outlets Targets and Actions
25 Class Clusters
26 Façade
27 Proxies and Forwarding
28 Managers
29 Controllers
V Practical Tools for Pattern Application
30 Core Data Models
31 Application Kit Views
32 Bindings and Controllers

Other editions - View all

Common terms and phrases

About the author (2009)

Erik M. Buck founded EMB & Associates, Inc. in 1993 and built the company into a leader in the aerospace and entertainment software industries by leveraging the NeXT/Apple software technology that would later become Apple’s Cocoa frameworks. Mr. Buck has also worked in construction, taught science to 8th graders, exhibited oil on canvas portraits, and developed alternative fuel vehicles. Mr. Buck sold his company in 2002 and currently holds the title of Senior Staff at Northrop Grumman Corporation. Mr. Buck received a B.S. degree in computer science from the University of Dayton in 1991 and is a frequent contributor to Cocoa mailing lists and technical forums.


Donald A. Yacktman has been using Cocoa and its predecessor technologies, OpenStep and NextStep, professionally since 1991. He coauthored the book Cocoa Programming and has contributed to the Stepwise website as both author and editor. He has worked for Verio/iServer and illumineX in the past. At present he works as an independent consultant assisting in the design and implementation of Cocoa and iPhone applications. Mr.Yacktman received B.S. and M.S. degrees in electrical and computer engineering from Brigham Young University in 1991 and 1994, respectively.

Bibliographic information