About this Course

In this course, you'll explore popular design patterns—the practical and battle-tested solutions to common problems that are used everyday by professional developers. You'll take a look at architectures and mechanisms that are used for constructing large, complex apps, including creational, structural, and behavioral design patterns. You'll also learn about software anti-patterns, and why recognizing bad practices is just as important as recognizing best practices. By the end of this course, you'll gain a reliable toolset of patterns that you can apply to your own projects.

The first lesson of this course and a sneak preview of the remaining lessons are available for free. Full course access is available as part of the iOS Developer Nanodegree program.

Course Cost
Free
Timeline
Approx. 2 weeks
Skill Level
Intermediate
Included in Course
  • Rich Learning Content

  • Interactive Quizzes

  • Taught by Industry Pros

  • Self-Paced Learning

  • Student Support Community

Join the Path to Greatness

This free course is your first step towards a new career with the Become an iOS Developer Nanodegree Program.

Free Course

Mobile Design Patterns for iOS

Enhance your skill set and boost your hirability through innovative, independent learning.

Icon steps

Course Leads

  • Chris Arriola
    Chris Arriola

    Instructor

What You Will Learn

Lesson 1

Principles of Software Design

  • Learn the core tenets of software design
  • Understand the Single Responsibility Principle, and other key principles
  • Learn about Gang of Four design patterns
Lesson 1

Principles of Software Design

  • Learn the core tenets of software design
  • Understand the Single Responsibility Principle, and other key principles
  • Learn about Gang of Four design patterns
Lesson 2

Creational Design Patterns

  • Understand creational design patterns and when to apply them
  • Covers Factory Method, Singleton, Dependency Injection, and more
  • Full lesson is available in the iOS Developer Nanodegree program
Lesson 2

Creational Design Patterns

  • Understand creational design patterns and when to apply them
  • Covers Factory Method, Singleton, Dependency Injection, and more
  • Full lesson is available in the iOS Developer Nanodegree program
Lesson 3

Structural Design Patterns

  • Understand structural design patterns and when to apply them
  • Covers Adapter, Facade, Decorator, and more
  • Full lesson is available in the iOS Developer Nanodegree program
Lesson 3

Structural Design Patterns

  • Understand structural design patterns and when to apply them
  • Covers Adapter, Facade, Decorator, and more
  • Full lesson is available in the iOS Developer Nanodegree program
Lesson 4

Behavioral Design Patterns

  • Understand behavioral design patterns and when to apply them
  • Covers Observer, Command, Mediator, Memento, and more
  • Full lesson is available in the iOS Developer Nanodegree program
Lesson 4

Behavioral Design Patterns

  • Understand behavioral design patterns and when to apply them
  • Covers Observer, Command, Mediator, Memento, and more
  • Full lesson is available in the iOS Developer Nanodegree program
Lesson 5

Software Anti-Patterns

  • Learn about anti-patterns, and how understanding them can contribute to building maintainable code
  • Covers deep inheritance, the God object, global inheritance, and more
  • Full lesson is available in the iOS Developer Nanodegree program
Lesson 5

Software Anti-Patterns

  • Learn about anti-patterns, and how understanding them can contribute to building maintainable code
  • Covers deep inheritance, the God object, global inheritance, and more
  • Full lesson is available in the iOS Developer Nanodegree program

Prerequisites and Requirements

To get the most out of this course, you should be familiar with developing mobile or web applications, and be proficient in Swift or another object-oriented programming language like Java or Python. All code samples in this course are in Swift.

See the Technology Requirements for using Udacity.

Why Take This Course

Experienced iOS developers rely on and apply design patterns to control complexity, limit duplication, and build quality, scalable mobile applications. By taking this course, you'll prepare yourself to work with iOS codebases of various sizes and complexity, utilizing and implementing design patterns to solve bigger and bigger problems.

What do I get?
  • Instructor videos
  • Learn by doing exercises
  • Taught by industry professionals
Icon globe

Udacity 现已提供中文版本! A Udacity tem uma página em português para você! There's a local version of Udacity for you! Sprechen Sie Deutsch?

Besuchen Sie de.udacity.com und entdecken Sie lokale Angebote, unsere Partnerunternehmen und Udacitys deutschsprachigen Blog.

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site Icon flag de Zu de.udacity.com continue in English