Home > Store > Home & Office Computing > Mac OS X

larger cover

Add To My Wish List

Cocoa Design Patterns

Register your product to gain access to bonus material or receive a coupon.

  • Description
  • Downloads
  • Extras
  • Reviews
  • Sample Content

Product Author Bios

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.

 

 

“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.

Customer Reviews

75 of 78 people found the following review helpful
5.0 out of 5 stars Unlocking Cocoa Programming, October 28, 2009
By 
Jeffrey W. Stulin (Wellesley, MA United States) - See all my reviews
(REAL NAME)   
Amazon Verified Purchase(What's this?)
This review is from: Cocoa Design Patterns (Paperback)
This superb book has finally unlocked Cocoa programming! Let me explain.

In most subjects we learn by acquiring a little bit of knowledge and, once that bit has been understood, we move on to the next little bit, until the bigger topic is understood. First we learn A then we learn B. Unfortunately, this method of learning does not work well with application frameworks such as Cocoa. These frameworks usually consist of a number of complex idea that are strongly interrelated. You cannot learn A then B, since A requires B and B requires A. Instead you must learn topics A..Z all at the same time! Cocoa is especially difficult for most programmers since it is based on using Objective C, and Objective C is based on Smalltalk. Smalltalk is an extremely dynamic language whose principles are significantly different than those of current popular languages. Thus, most programmers must learn zilllions of elements of the Cocoa framework and also the unusual ideas behind Objective C... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


28 of 28 people found the following review helpful
5.0 out of 5 stars Develops a good foundational understanding, October 26, 2009
Amazon Verified Purchase(What's this?)
This review is from: Cocoa Design Patterns (Paperback)
This book is not for beginners to Cocoa. I would only recommend it folks that have a reasonable amount of experience with Cocoa / Objective-C. Don't take this the wrong way; I'm only defining the target audience. This book details the patterns at work in Cocoa's architecture. While this text may confuse those new to Obj-C or Cocoa, it provides valuable insight into Cocoa usage patterns.

Cocoa Design Patterns explains techniques commonly used throughout the Cocoa architecture (Model-View-Controller, Release/Retain Counting, Delegates, etc.), and provides concrete implementation examples in the frameworks. For each pattern it also describes the scenario that you may use it in, and the consequences, good and bad, to using the pattern. I would recommend this book to anyone after they've cut their teeth on Cocoa, after writing their first couple simple applications. This book shines light on some of the design decisions Apple made with Cocoa, and helps the reader understand how... Read more
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


32 of 36 people found the following review helpful
5.0 out of 5 stars If Cocoa is Your Thing, This Book is Essential, September 14, 2009
This review is from: Cocoa Design Patterns (Paperback)
It was the iPhone that finally brought me into the world of Cocoa programming. I quickly fell in love with the Cocoa & Cocoa Touch frameworks, finding them to be elegant, consistent and truly useful. I've read several books on Cocoa, Objective-C and Mac / iPhone development, but this one stands alone in its quest to fill the gaps, to cement a deep and thorough understanding of one of the best frameworks ever written.

Simply stated, this book is a joy to read. It answered many questions that I had about the "why" behind the evolution of Cocoa and has left me feeling better able to make the most of its power. Cocoa Design Patterns is written in a style that is extremely accessible. It is almost like a detective novel as each chapter unravels the secrets of Cocoa. The most fun I've had reading a technical book in a long while.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


Share your thoughts with other customers:
 See all 29 customer reviews...

Online Sample Chapters

Cocoa Design Patterns: Bindings and Controllers

Cocoa Design Patterns: Controllers

Cocoa Design Patterns: Model-View-Controller

Cocoa Design Patterns: Two-Stage Creation

Table of Contents

Preface     xix

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

Index     407

 

Sample Pages

Download the sample pages (includes Chapter 29, 32, and Index)

 
Best Value

Book + eBook Bundle  $98.98  $59.39

Book Price $43.99
eBook Price $15.40
eBook formats included

Buy

This book includes free shipping!

Buy

Book  $54.99  $43.99

Usually ships in 24 hours.

This book includes free shipping!

Buy

eBook (Watermarked)  $43.99  $35.19

Includes EPUB, MOBI, and PDF
About eBook Formats

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe 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 discretely watermarking it with your name, making it uniquely yours.

Purchase Reward: One Month Free Subscription
By completing any purchase on InformIT, you become eligible for an unlimited access one-month subscription to Safari Books Online.

Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.