Software design patterns are standard, proven ways to solve various problems programmers encounter. In this course, Creational Design Patterns in Swift 5, you'll learn about the creational patterns using UML diagrams and practical Swift code examples.
First, you'll explore some of the history of design patterns, the value they provide, and their limitations. A brief Unified Modeling Language Primer introduces the concepts and the diagrams used throughout this course.
Next, you'll discover the creational patterns, which will feature the Singleton first, as well as solving thread-safety issues using Grand Central Dispatch.
Then, you'll learn about the Prototype pattern and concepts like the cloning of value and reference types and the difference between shallow and deep copying of objects.
Finally, you'll get to see the Abstract Factory, which provides an abstraction for creating families of related or dependent objects.
After finishing this course, you’ll have a foundational knowledge of creational design patterns that will help you as you move forward to becoming a better software developer.
Course Overview Hi everyone. I'm Karoly Nyisztor, and I'm happy to welcome you to my course, Creational Design Patterns in Swift 5. I'm a software engineer, book author, and instructor. Having been a professional iOS developer since 2009, I started using Swift right after its launch. This course is the first part of a three- part series of courses on design patterns in Swift. The other two courses cover the structure and the behavior of design patterns. We begin the course with an introductory module about the history of design patterns, the values that they provide, and their limitations. A brief Unified Modeling Language primer follows that introduces the concepts and the diagrams used throughout this course. Next, we'll jump right into the creation of patterns. We'll discuss each design pattern thoroughly using UML diagrams and hands-on Swift coding. We'll start with a singleton. We're going to talk about common pitfalls and how to solve thread safety issues using Grand Central Dispatch. I'll show you how to optimize the singleton's performance using dispatch barriers. We'll then talk about the prototype pattern. We delve into the cloning of value and reference types. I'll also explain the difference between shallow and deep copying of objects. The builder comes next. We'll apply this pattern to simplify the construction of objects that require a complicated setup process. Then, I'll show you how to decouple the calling component from the concrete types it creates using the factory method design pattern. We finish up the course with the abstract factory, which provides an abstraction for creating families of related or dependent objects. By the end of this course, you should become comfortable using the creational design patterns. You will also gather a lot of knowhow and learn best practices that can be applied to your Swift project. Note that we're going to discuss advanced concepts, thus, you should be familiar with Xcode and the basics of Swift programming. I hope you will join me on this journey to learn design patterns with the Creational Design Patterns in Swift 5 course here, at Pluralsight.