iOS Design Patterns
Treehouse
Course Summary
This course is intended to give intermediate-level iOS programmers a deeper understanding of some common design patterns that appear in the Cocoa development frameworks. Understanding the “Hows?†and “Whys?†of these patterns will increase your productivity and enhance the quality of your code. Working with the patterns, rather than mistakenly working against them is essential for gaining greater proficiency as an iOS developer. Students are assumed to have familiarity with development in Objective-C using XCode.
-
+
Course Description
About this Course This course is intended to give intermediate-level iOS programmers a deeper understanding of some common design patterns that appear in the Cocoa development frameworks. Understanding the “Hows?†and “Whys?†of these patterns will increase your productivity and enhance the quality of your code. Working with the patterns, rather than mistakenly working against them is essential for gaining greater proficiency as an iOS developer. Students are assumed to have familiarity with development in Objective-C using XCode. What you'll learn
- Two-stage Object Creation
- Singletons
- KVC and KVO
- Notifications
- MVC
About the Teacher
Bjorn is currently part of a 3-man iOS design and development shop called Built Light. His primary role is the "back-end" guy; overall app architecture, data persistence, networking etc.., but he also does graphics (OpenGL, Core Animation) and whatever else needs doing.
-
+
Course Syllabus
What Are Design Patterns?
Discuss the five design patterns this course will cover, and understand how they can work for you. 5 steps- Framing the Discussion 4:31
- What is a Design Pattern? 3:15
- What is a Design Pattern Review 3 questions
- Design Pattern Inventory 3:42
- The Five Design Patterns Review 7 questions
Two-stage Object Creation
Examine two-stage object creation using alloc and init methods. 6 stepsSingletons
A singleton encapsulates a unique resource and makes it readily accessible throughout the application. 6 stepsKVC
KVC or Key-Value-Coding is a generic way of accessing an object’s properties and variables by using a dictionary style interface. 5 stepsNotifications
Notifications are a mechanism for broadcasting a simple message throughout an application. 4 stepsMVC
MVC defines the relationship between subsystems composed of classes or, more generally, source modules. 5 steps