Course Content
Introduction
- What is a Software Design Pattern?
- Reasons to study Software Design Patterns
- History of Software Design Patterns
- Cataloging Software Design Patterns
- Patterns covered in this course
- Software Design Patterns
The Singleton Pattern
- Overview
- C++ Implementation
- Java Implementation
- Java API Example
The Composite Pattern
- Overview
- Structure
- C++ Implementation
- Java Implementation
- Java API Example
- C++ Source Code Example
- Java Source Code Example
The Factory Method Pattern
- Overview
- Structure
- C++ Implementation
- Java Implementation
- Java API Example
- C++ Source Code Example
- Java Source Code Example
The Observer Pattern
- Overview
- Structure
- C++ Implementation
- Java Implementation
- Java API Example
- C++ Source Code Example
- Java Source Code Example
The Template Method Pattern
- Overview
- Structure
- C++ Implementation
- Java Implementation
- C++ Standard Template Library
- Java API Example
- C++ Source Code Example
- Java Source Code Example
The Strategy Pattern
- Overview
- Structure
- C++ Implementation
- Java Implementation
- Java API Example
- Java Source Code Example
Other Creational Patterns
- The Abstract Factory Pattern
- The Prototype Pattern
- The Builder Pattern
- Creational Patterns - Summary
Other Structural Patterns
- The Adapter Pattern
- The Bridge Pattern
- Decorator Pattern
- Structural Patterns - Summary
Other Behavioral Patterns
- The Memento Pattern
- The Chain of Responsibility Pattern
- The Visitor Pattern
- Behavioral Patterns - Summary