A design pattern solves a common software engineering problem. Patterns are abstract designs, not code. When you adopt a design, you adapt the general pattern to your specific needs.
No matter what type of app you are creating, you should know the fundamental design patterns used in the frameworks. Understanding design patterns helps you use frameworks more effectively and allows you to write programs that are more reusable, more extensible, and easier to change.
© 2013 Apple Inc. All Rights Reserved. (Last updated: 2013-04-23)