Skip to content
UdemyiOS SwiftPaid courseIntermediate levelCertificate

Design Patterns in Swift (Udemy.com)

Discover the modern implementation of design patterns with Swift

Created by: Dmitri Nesteruk

Last updated July 2019

icon
What you will learn

  • Recognize and apply design patterns
  • Refactor existing designs to use design patterns
  • Reason about applicability and usability of design patterns
  • Implement each pattern in a coding exercise

How it compares

Against the other 160 rated Udemy courses in iOS Swift on CourseDuck:

  • Rating4.6 out of 5higher than 65% of them
  • Reviews1,522#20 of 161 by number of reviews
  • Length8.7 hoursshorter than 61% of them
  • Last updatedJuly 2019earlier than 61% of them

icon
Course Description

Course Overview

This course provides a comprehensive overview of Design Patterns in Swift from a practical perspective. This course in particular covers patterns with the use of:

  • The latest versions of the Swift programming language
  • Use of modern programming approaches: dependency injection, reactive programming and more
  • Use of modern developer tools
  • Discussions of pattern variations and alternative approaches

This course provides an overview of all the Gang of Four (GoF) design patterns as outlined in their seminal book, together with modern-day variations, adjustments, discussions of intrinsic use of patterns in the language.

What are Design Patterns?

Design Patterns are reusable solutions to common programming problems. They were popularized with the 1994 book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm (who are commonly known as a Gang of Four, hence the GoF acronym).

The original book was written using C++ and Smalltalk as examples, but since then, design patterns have been adapted to every programming language imaginable: Swift, C#, Java, PHP and even programming languages that aren't strictly object-oriented, such as JavaScript.

The appeal of design patterns is immortal: we see them in libraries, some of them are intrinsic in programming languages, and you probably use them on a daily basis even if you don't realize they are there.

What Patterns Does This Course Cover?

This course covers all the GoF design patterns. In fact, here's the full list of what is covered:

  • SOLID Design Principles: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle
  • Creational Design Patterns: Builder, Factories (Factory Method and Abstract Factory), Prototype and Singleton
  • Structrural Design Patterns: Adapter, Bridge, Composite, Decorator, Façade, Flyweight and Proxy
  • Behavioral Design Patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Null Object, Observer, State, Strategy, Template Method and Visitor

Who Is the Course For?

This course is for Swift developers who want to see not just textbook examples of design patterns, but also the different variations and tricks that can be applied to implement design patterns in a modern way.

Presentation Style

This course is presented as a (very large) series of live demonstrations. All demos are single-file, so you can download the file attached to the lesson and run it in CLion, XCode or another IDE of your choice (or just on the command line).

This course does not use UML class diagrams; all of demos are live coding. I use Visual Studio Code for the demos.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Dmitri Nesteruk

Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009. 

icon
More courses by Dmitri Nesteruk

$124.99

$13.99

$14.99

$14.99

$11.99

$14.99

icon
More iOS Swift courses

$109.99

$69.99

$79.99

$84.99

Free

$109.99

icon
Reviews

4.6

1,522 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Anonymized User on 7/10/2024

The instructor really seems to know about the principles, but the way that he is explaining is just to go though the exercise. It would also be nice to have real world examples. We have to keep thinking of how it would be applied to our stack. So not that much much use. Which is a sad thing, since most of companies ask for these stuff.

By Renan Marchini on 7/5/2023

Hey, Dmitri. I just finish your course and it gave me a lot to think about and knowledge. But I have some feedback that can improve your course: Xcode is more familiar IDE for swift developers. Using autocomplete would help a lot with typos. I missed real world examples for some patterns. Sometimes the exemplo builded a not necessary complexity to be solve with the pattern. Thank you very much and I will see you in the next course.

By Anonymized User on 6/29/2023

Excellent course! The instructor gives clear explanations about Design Patterns, but also what is different when approaching with Swift. It is a theoretical course, but I did not find it hard to apply to app development. It just takes a bit more practice and, of course, critical thinking on when or where to apply the patterns. I just wish there were some book recommendations.

By Łukasz Cieślik on 1/27/2023

Świetny kurs. Wiele się nauczyłem. Jednak trzeba pamiętać, że 8.5 godziny kursu to tylko początek. Trzeba wziąć pod uwagę, że każdą część przedstawionego materiału trzeba "Przepracować" samemu. Stąd też czas potrzebny na dokończenie tego kursu trzeba pomnożyć przez co najmniej 3 :-) Ale muszę przyznać że się opłacało. Pozdrawiam

By Justus Aype Jose on 11/1/2020

Very knowledgeable instructor @nesteruk, but for some design patterns the examples were a little complicated which required multiple views. Anyway, thanks for the sessions!

By Midhun MP on 7/11/2020

Very good course. I definitely recommend this course.
One suggestion from my part is, the examples given for some patterns were too complex and it added extra complexity to the topic itself. If possible, please use simple examples.

By Jan Willem van Eijk on 6/20/2020

Aan n stuk door praten is erg onrustig en bijna niet te volgen...

By Himanshu Lanjewar on 5/26/2020

excellent

By Anonymized User on 4/21/2020

Above my skill level

By Mandar Joshi on 4/9/2020

Content is very good and all concepts are explained in detail. The development environment editor screen looks blurred due to which I couldn't see the code clearly.

By JIAYI LIU on 4/7/2020

Opened my eyes in programming, although I can't fluently use those patterns on my job yet, but I do find myself begin to recognise those patterns in my seniors' code. Looking forward to try some of these one day on my own project! Thank you so much!

By Ruben Dias on 4/6/2020

Plenty of content, but the lessons are not very well explained. I like the instructor, but I wish he'd spend more time explaining the design patterns and discussing its usage, instead of just walking us through a complicated example that often is insufficient for real understanding.

Showing 12 of 77 reviews

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100