This repo was born as collection of all of the exercises that I did in order to complete and pass the Design Patterns in Swift course by Dmitri Nesteruk on Udemy.
I approached this course as a way of quantifying my knowledge and understanding of the Swift programming language using something which is very familiar to each developer: design patterns.
After each chapter the teacher requires the student to complete an exercise (aka the application of a design pattern) and this exercise must go through a series of unit test which are already implemented and you won't see if not consulting the solution of the exercise. A code running plugin implemented into the Udemy platform runs the code submitted against the tests.
"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." - Dmitri Nesteruk
Copyright (c) 2020 Andrea Vultaggio under MIT License.