Because Knetbooks knows college students. Our rental program is designed to save you time and money. Whether you need a textbook for a semester, quarter or even a summer session, we have an option for you. Simply select a rental period, enter your information and your book will be on its way!
The only textbook that shows Mac developers how to leverage object-oriented design patterns found in the Cocoa frameworks
- Apple's documentation doesn't always explain what the patterns are or what they should mean to a developer.
- This textbook teaches old and new school programmers the ins and outs of the Cocoa Frameworks and how they apply to the design patterns found in traditional programming.
- Foreword by Aaron Hillegass, author of Cocoa Programming for Mac ... MORE. 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 applications.
The patterns presented in this textbook provide a coherent map leading the reader through the design of Cocoa itself and how to best use Cocoa. Each design pattern includes a description of the problem(s) and motivation for applying the pattern. Since Cocoa contains many patterns that are applicable in diverse situations, the patterns have been carefully organized so that the same problems in different contexts are readily identified. In some cases, related patterns that should be avoided are also identified.
The detailed description of each pattern includes diagrams of the relationships between objects in the pattern. The benefits of using the pattern are explained along with examples of the pattern's use within Cocoa. Finally, each pattern identifies the consequences that naturally result from its use. The consequences and trade-offs of design alternatives are crucial when evaluating which patterns to use in a particular situation.
The primary goal of this textbook 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.
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 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
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.