by Erik Buck (Author)
"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.
Format: Paperback
Pages: 456
Edition: 1
Publisher: Addison-Wesley Professional
Published: 01 Sep 2009
ISBN 10: 0321535022
ISBN 13: 9780321535023
Book Overview: Much of the technology embodied by Apple's Cocoa software development frameworks have been in commercial use since 1988, and in spite of many years of use, the Cocoa frameworks are still revolutionary. Cocoa technology has been marketed with a variety of names including NeXTstep, OpenStep*, Rhapsody, and Yellow Box. In recent years, Apple has expanded the frameworks dramatically and added new tools to raise the bar for Cocoa programmer productivity beyond its already famously high levels.
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 your own applications.
This book explains the object-oriented design patterns found in Apple's Cocoa frameworks. Design patterns aren't unique to Cocoa; they're recognized in most reusable software libraries and available in any software development environment. Design patterns simply identify recurring software problems and best practices for solving them. The primary goal of this book 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.
Praise for CocoaDesign Patterns
This long-needed book is a great resource for Cocoa newcomers and veterans who want to get the why behind the what. The list of patterns gives historical perspective and answers many developer questions and the last three chapters-covering Core Data, AppKit, and Bindings-are a must-read; they reveal insights that might otherwise require hours of discussion with Apple engineers or access to source code.
-Tim Burks, Software Developer and Creator of the Nu Programming Language, www.programming.nu
This book is a comprehensive and authoritative treatment of design patterns and their practical applications in Cocoa projects. I recommend this book to anyone who wants to advance from intermediate to expert proficiency as a Macintosh developer.
-John C. Randolph, Vice President Engineering, Stealth Imaging, Inc.
Cocoa Design Patterns is a fantastic book that will show you the ins and outs of software design patterns, how Cocoa makes use of them, and how to apply them to your own applications for better, more robust, and more maintainable software.
-August Trometer, Owner of FoggyNoggin Software
Cocoa Design Patterns is superb! It is highly readable, thoroughly enjoyable, and filled to the brim with wisdom that will make you a more efficient and effective programmer. The authors utilize a consistent and self-contained approach to each chapter, making it easy to return to use as a reference. However, the material is so interesting and vital to Cocoa programmers that you'll want to read it from cover to cover.
-David Mandell, Independent Developer
Erik and Donald's book really helped me out with the conceptual side of programming. It caused me to realize where I was going wrong in my code and helped me sort out my design issues.
-Eoin Houlihan
This book is recommended for any programmer interested in a deeper understanding of Cocoa. Reading it might have helped me become a better software engineer in any object-oriented language. I'll keep it handy as a constant reference and look forward to reading it again more carefully.
-Daryl Spitzer
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.