- What this course is about
- Creational, Behavioural and Structural Paradigms
- Design Principle #1: Rely on Interfaces, not Implementations
- Design Principle #2: The Open/Closed Principle
- Design Principle #3: Principle of Least Knowledge
- Design Principles #4 and #5: Dependency Inversion and the Hollywood Principle
- Quiz : Design Patterns
- A taste of things to come
- The Strategy Design Pattern: Introduction via String Sorting
- The Strategy Pattern and Dependency Injection - I
- The Strategy Pattern and Dependency Injection - II
- Quiz : Strategy Pattern
- Quiz : Strategy Pattern
- Quiz : Strategy Pattern
- The Decorator Design Pattern
- The Decorator Design Pattern In Action: Java File APIs
- Quiz : Decorator Pattern
- Quiz : Decorator Pattern
- The Factory Design Pattern: Introduction
- The Factory Design Pattern In Action: Database Drivers
- The Abstract Factory Design Pattern
- The Abstract Factory Design Pattern: Families of classes
- The Factory Design Pattern In Action: Reflection - I
- The Factory Design Pattern In Action: Reflection - II
- Quiz : Factory Pattern
- Quiz : Factory Pattern
- Quiz : Factory Pattern
- Quiz : Factory Pattern
- The Singleton Design Pattern: Introduction
- The Singleton Design Pattern: Double-Checked Locking
- The Singleton Design Pattern: The Synchronized Keyword
- The Singleton Design Pattern: Pulling together a multi-threaded solution
- Quiz : Singleton Pattern
- Quiz : Singleton Pattern
- Quiz : Singleton Pattern
- Quiz : Singleton Pattern
- The Adapter Design Pattern: Introduction
- The Adapter Design Pattern: Introduction - II
- The Adapter Design Pattern In Action: Tables and Charts
- Quiz : Adapter Pattern
- The Facade Design Pattern
- Quiz : Facade Pattern
- Quiz : Facade Pattern
- The Template Design Pattern: Introduction via Text Auto-Summarization
- The Template Design Pattern In Action: Frameworks
- The Template Design Pattern In Action: Frameworks - II
- Quiz : Template Pattern
- The Iterator Design Pattern: Introduction
- The Iterator Design Pattern: Type Safety via Generics
- The Iterator Design Pattern: Internal and External Iterators
- The Iterator Design Pattern: Language Support for Iterators in Python and Java
- Quiz : Iterator Pattern
- The Model View Controller Design Pattern: An Introduction
- The Model View Controller Design Pattern In Action: A MediaPlayer Example
- The Model View Controller Design Pattern In Action: A Chart Example
- Quiz : MVC
- Quiz : MVC
- Quiz : MVC
- The Observer Design Pattern: Introduction
- The Observer Design Pattern In Action: Mouse Handling and Trees
- The Observer Design Pattern In Action: MVC + Observer = UI Magic
- The Observer Design Pattern In Action: A MediaPlayer Example - I
- Quiz : Observer Pattern
- Quiz : Observer Pattern
- Quiz : Observer Pattern
- Quiz : Observer Pattern
- Quiz : Observer Pattern
- Quiz : Observer Pattern
- Quiz : Observer Pattern
- The Command Design Pattern: Introduction
- The Command Design Pattern In Action: Lambda Functions - I
- The Command Design Pattern In Action: Lambda Functions - II
- The Command Design Pattern In Action: Threading
- The Command Design Pattern In Action: Undo and Logging
- Quiz : Command Pattern
- Quiz : Command Pattern
- Quiz : Command Pattern
- Quiz : Command Pattern
- Quiz : Command Pattern
- The Composite Design Pattern: Introduction via Decorators
- The Composite Design Pattern: Class Hierarchy
- The Composite Design Pattern In Action: Transitions, Swing Containers
- Quiz : Composite Pattern
- The Builder Design Pattern: Introduction
- The Builder Design Pattern In Action: An SQL Query Builder I
- The Builder Design Pattern In Action: An SQL Query Builder II