Will programmers new to Cocoa benefit from a Cocoa Design Patterns Book ?
Will programmers new to Cocoa benefit from a Cocoa Design Patterns Book ?
- Subject: Will programmers new to Cocoa benefit from a Cocoa Design Patterns Book ?
- From: Erik Buck <email@hidden>
- Date: Mon, 2 Jun 2008 16:05:15 -0700 (PDT)
In answering some private email about the forthcoming "Cocoa Design Patterns" book, I made the following observations.
Design patterns describe high quality practical solutions to recurring programming problems and can sometimes be quite abstract. Design patterns state how to solve problems and why some solutions are preferred over others. There are programming examples of patterns, but it is assumed that the patterns will be adapted as necessary on a case by case basis. In other words, Design Patterns are not tutorials.
The right time to introduce design patterns depends on the learning style of the individual programmer. Some programmers are uncomfortable until they can see the "big picture". Design patterns help show the big picture and provide rationale. Other programmers are frustrated by theory and abstract ideas until they have mastered the details of a specific implementation. For specific details, tutorials and focused sample programs are more satisfying than design patterns.
To use an analogy, design patterns for construction/architecture describe the rationale for having more than one external door e.g. for emergency egress. Design patterns for construction/architecture identify and contrast the different styles of architecture such as Queen Ann Victorian or Prairie Style or Neo-Classical. A design patterns book for construction/architecture might provide a few sample floor plans to illustrate the application of a pattern, but you won't find a complete design for your specific house in the book. Nor will you find instructions for how to nail two boards together.
Why Focus on Design Patterns?
I wrote Cocoa Design Patterns to help satisfy your intellectual curiosity. Its easy to lose sight of the overall architecture and rationale of Cocoa. Many programmers comment that they feel lost in the multitude of classes, functions, and data structures that Cocoa provides. They cant see the forest because theyre concentrating too much on individual trees. The patterns used in Cocoa provide a structure and organization that will help you find your way. The patterns show how to reuse groups of cooperating classes even when the relationships between the classes are not fully explained in the documentation for individual classes.
So, will programmers new to Cocoa benefit from a Cocoa Design Patterns Book ? I think all programmers will benefit from understanding design patterns at some point whether they use Cocoa or not. How soon a new programmer should tackle design patterns depends a lot on the programmer.
Any programmer who is familiar with the famous Design Patterns book by the Gang of Four and enjoyed that book will enjoy "Cocoa Design Patterns".
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden