Description
Course info
Level
Intermediate
Updated
Aug 27, 2019
Duration
1h 36m
Description

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.

About the author
About the author

Karoly is a veteran (mobile) developer having built several successful iOS apps and games, most of which were featured by Apple.

More from the author
Design Patterns in Swift: Behavioral
Intermediate
2h 37m
Dec 28, 2017
Design Patterns in Swift: Structural
Intermediate
1h 16m
Apr 5, 2017
Section Introduction Transcripts
Section Introduction Transcripts

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.