Course Highlights
  • Recognize and apply design patterns
  • Refactor existing designs to use design patterns
  • Reason about applicability and usability of design patterns
  • Implement each pattern in a coding exercise
Curriculum

1 Topic
Introduction

7 Topics
Overview
Single Responsibility Principle
Open-Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Summary

7 Topics
Overview
Life Without Builder
Builder
Fluent Builder
Faceted Builder
Builder Coding Exercise
Summary

8 Topics
Overview
Point Example
Factory Method
Factory
Inner Factory
Abstract Factory
Factory Coding Exercise
Summary

5 Topics
Overview
Copy Constructors
Explicit Deep Copy Interface
Prototype Coding Exercise
Summary

7 Topics
Overview
Singleton Implementation
Testability Issues
Singleton in Dependency Injection
Monostate
Singleton Coding Exercise
Summary

5 Topics
Overview
Vector/Raster Demo
Adapter Caching
Adapter Coding Exercise
Summary

4 Topics
Overview
Bridge
Bridge Coding Exercise
Summary

5 Topics
Overview
Geometric Shapes
Neural Networks
Composite Coding Exercise
Summary

7 Topics
Overview
Custom String Builder
Multiple Inheritance
Dynamic Decorator Composition
Static Decorator Composition
Decorator Coding Exercise
Summary

4 Topics
Overview
Façade
Façade Coding Exercise
Summary

5 Topics
Overview
Repeating User Names
Text Formatting
Flyweight Coding Exercise
Summary

6 Topics
Overview
Protection Proxy
Property Proxy
Proxy vs. Decorator
Proxy Coding Exercise
Summary

6 Topics
Overview
Command Query Separation
Method Chain
Broker Chain
Chain of Responsibility Coding Exercise
Summary

5 Topics
Overview
Command
Undo Operations
Command Coding Exercise
Summary

5 Topics
Overview
Handmade Interpreter: Lexing
Handmade Interpreter: Parsing
Interpreter Coding Exercise
Summary

5 Topics
Overview
Iterator Object
Array-Backed Properties
Iterator Coding Exercise
Summary

4 Topics
Overview
Chat Room
Mediator Coding Exercise
Summary

5 Topics
Overview
Memento
Undo and Redo
Memento Coding Exercise
Summary

4 Topics
Overview
Null Object
Null Object Coding Exercise
Summary

6 Topics
Overview
Events
Property Observers
Handling Dependent Observable Properties
Observer Coding Exercise
Summary

4 Topics
Overview
Handmade State Machine
State Coding Exercise
Summary

5 Topics
Overview
Dynamic Strategy
Static Strategy
Strategy Coding Exercise
Summary

4 Topics
Overview
Template Method
Template Method Coding Exercise
Summary

7 Topics
Overview
Intrusive Expression Printing
What is Dispatch?
Reflection-Based Printing
Classic Visitor (Double Dispatch)
Visitor Coding Exercise
Summary

5 Topics
Creational Patterns Summary
Structural Patterns Summary
Behavioral Patterns Summary
End of Course
Bonus Lecture: Other Courses at a Discount

  Write a Review

Design Patterns in Swift

Go to Paid Course