Intermediate iOS Design Patterns |

Level-up your knowlege of design patterns with this course! Covers the MVVM, Factory, Adapter, Iterator, Prototype, State, Multitask Delegate, and Facade patterns.

This is a companion discussion topic for the original entry at

Hi there,

May I ask some details about this new course?

  1. Is it a project-based course?
  2. Does this course use any UI framework?
  3. If this course using a UI framework, then which one? SwiftUI or UIKit?

Thank you!

Looking forward to hearing from you.

Best wishes,

@robertpetras Thanks very much for your questions!

To answer them:

  1. We make our courses and tutorials as practical, and hands on as possible. Usually, what this means is that we start off with a skeleton project, and teach the concepts we intend to instruct through the completion of this project. This doesn’t mean that we start off from scratch to build a final product, what it means is that we start off with initial boiler plate code so that we can focus on the concepts that we’re trying to teach, and then gradually complete the project in the process.

That being said, our video courses are such that we discuss a unique topic, or component in each chapter, and it can be very difficult to build a singular project which allows the instructor to teach all of the concepts as part of the curriculum of that course. However, what I can assure you is that each chapter comes with downloadable resources that allow you to have a copy of the code that is being taught in the chapter. So the short answer to your question is, we do our best to do so as much as possible, and we always provide sample code for you to get the best learning experience possible.

  1. When it comes to design patterns like these, the focus is on using the Swift language as it applies to building iOS apps. This means that while these patterns CAN be used towards a UI framework like UIKit, they can also be applied to other areas of iOS development like concurrency programming, or networking, which are not directly related to the UI of the app. The focus here is to learn the concepts/principles, and not simply becoming proficient at using a particular framework. By focusing on the concepts, you can then apply these concepts to other areas LIKE the UI using frameworks like UIKit.

  2. SwiftUI is still in its infancy, and slowly patterns are evolving to work with it. Unless the course explicitly states that it is using SwiftUI, the default is that it most likely is not. Because it is so new, if a particular course was using SwiftUI, we would definitely mention it :slight_smile:

I hope this helps!

All the best!

1 Like

Thank you @syedfa! You helped me with this information a lot.