Introduction
  • Introduction
SOLID Principles
  • What are SOLID principles?
S - Single Responsibility Principle
  • Single responsibility principle introduction
  • Single responsibility principle example
  • Exercise
  • Solution
  • Single Responsible Principle Quiz
O - Open/Closed Principle
  • The open/closed principle introduction
  • The open/closed principle example
  • Exercise
  • Solution
  • Open/Closed Principle Quiz
L - Liskov Substitution Principle
  • Liskov substitution principle
  • Liskov substitution principle example
I - Interface Segregation Principle
  • Interface segregation principle
  • Interface segregation principle example
  • Example
  • Solution
  • Interface Segregation Quiz
D - Dependency Inversion
  • Dependency inversion principle introduction I
  • Inversion of control - dependency injection
  • Dependency inversion principle example
  • Exercise
  • Solution
  • Dependency Inversion Principle Quiz
Design Patterns
  • What are design patterns?
CREATIONAL DESIGN PATTERNS
  • Creational design patterns
Singleton Pattern
  • What is the singleton pattern?
  • Singleton pattern example
  • Singleton pattern with enums
  • Singleton Pattern Quiz
Factory Pattern
  • Factory pattern introduction
  • Factory pattern example
  • Abstract factory pattern example
  • Factory Pattern Quiz
Builder Pattern
  • Builder pattern introduction
  • Builder pattern example - avoiding telescopic constructors
  • Exercise
  • Solution
  • Why to use builder pattern?
  • Builder Pattern Quiz
Prototype Pattern
  • What is the prototype pattern?
  • Prototype pattern example
BEHAVIORAL DESIGN PATTERNS
  • Behavioral design patterns
Strategy Pattern
  • What is the strategy pattern?
  • Strategy pattern example
  • Why to use strategy pattern?
  • Exercise
  • Solution
  • Strategy Pattern Quiz
Observer Pattern
  • Observer pattern introduction
  • Observer pattern example
  • Observer pattern with user interface components (Swing)
  • Exercise - the basics of algorithmic trading
  • Solution
  • Observer Pattern Quiz
Command Pattern
  • What is the command pattern?
  • Command pattern example
  • Queuing model with the command pattern
  • Command Pattern Quiz
Iterator Pattern
  • Iterator pattern example
Template Pattern
  • Template pattern introduction
  • Template pattern example
  • Exercise
  • Solution
  • Template Pattern Quiz
NULL Object Pattern
  • Null object pattern introduction
  • Null object pattern example
Visitor Pattern
  • Visitor pattern introduction
  • Visitor pattern implementation
  • Exercise
  • Solution
STRUCTURAL DESIGN PATTERNS
  • Structural design patterns
Decorator Pattern
  • Decorator pattern introduction
  • Decorator pattern example
Facade Pattern
  • Facade pattern introduction