Section 1: Design Pattern Warm Up
In this section, the audience will get familiar with the design pattern concept and with the classification of design patterns. Then we cover some advanced Python topics which we need to be familiar with when starting to study design patterns.
- The Course Overview
- What Are Design Patterns?
- Design Pattern Classification
- Advanced Python Topics
- Inheritance in Python
Section 2: Producing with Factories
In this section, we will cover Creational patterns, such as Factory, Abstract Factory, Builder, and Prototype and we check the pros and cons of Singleton versus Borg or so called Highlander versus Borg.
- Abstract Factory
- Singleton Versus Borg
Section 3: Structuring Around
In this section, we will cover the five most widely known Structural design patterns.
- Model View Controller
Section 4: Behaving Ourselves
In this section, we will cover four behavioral design patterns - Command, Interpreter, State, and Chain of Responsibility.
- Chain of Responsibility
Section 5: Behaving Ourselves Again
In this section, we continue the presentation of Behavioral Patterns, starting with Observer, Strategy, Memento, and Template.
- Reactive Programming
Section 6: No Pattern (a.k.a AntiPattern)
In this section, we will cover a topic which usually does not exist in design pattern courses, AntiPatterns. AntiPatterns are elements of software design and code which cause more problems in the long run than they help.
- Spaghetti Code
- Functional Decomposition
- Copy and Paste