Software design patterns have been around for more than two decades. Should you use them with Swift, a programming language that’s only a couple of years old? Do you know which one to pick to solve a particular problem? Does Swift offer better alternatives? Perhaps it even renders some of these patterns obsolete? This course, along with the other two parts of the series, attempts to answer these questions. In this course, Design Patterns in Swift: Behavioral, you’ll learn about patterns that increase the efficiency and flexibility of how objects interact with each other. First, you'll see a demonstration of each pattern through practical demos implemented in Swift 4. Next, to emphasize the benefits of using reusable best practices, you'll also see comparisons of brute-force approaches with pattern-based solutions. Finally, you’ll see situations where Swift language features provide a more straightforward solution than the traditional design pattern. When you’re finished with this course, you'll have the skills and knowledge of applying design patterns needed to develop flexible, easy to enhance and maintain Swift projects.
Course Overview Hi everyone. My name is Karoly Nyisztor, and I'm happy to welcome you to my course, Design Patterns in Swift: Behavioral. I'm a tech entrepreneur, software engineer, and book author. Having been a professional iOS developer since 2009, I started using Swift right after its launch back in 2014. This course is an overview of the behavioral design patterns and the way they are implemented using Swift. It is the final part of a three-part series of courses on design patterns in Swift. The first two courses cover the creational and the structural design patterns. In this course, we're going to talk about the 11 behavioral design patterns. We'll start with the chain of responsibility, which stands at the core of the event handling in iOS and macOS. We're going to talk about the command pattern, which lets us package a method invocation as an object. We'll rely on the interpreter pattern to build a demo capable of processing navigation instructions and a calculator which uses complex expressions. We'll also talk about the frequently used iterator, observer, and the strategy pattern. These are just a few of the 11 patterns that we'll cover. By the end of this course, you should become very comfortable using the behavioral design patterns and applying them in your Swift projects. You will also gather a lot of Swift-related knowhow. Before beginning the course, you should be familiar with the basics of Swift programming. I hope you will join me on this journey to learn design patterns, with the Design Patterns in Swift: Behavioral course, here at Pluralsight.