Creational Patterns - Singleton Pattern
This lesson discusses how the Singleton pattern enforces only a single instance of a class to ever get produced and exist throughout an application’s lifetime.
Structural Patterns - Adapter Pattern
Adapter pattern is similar to how an electrical adapter lets your laptop work both in the US or UK even though voltages are different.
Structural Patterns - Decorator Pattern
This lesson discusses how objects can be enhanced with new behavior using the decorator pattern.
Structural Patterns - Proxy Pattern
This lesson discusses how objects can act on behalf of other objects without the clients knowing they aren’t talking to the intended object.
Behavioral Patterns - Chain of Responsibility Pattern
This lesson discusses how a request can travel down a chain of handlers till an appropriate handler is found.
Behavioral Patterns - Command Pattern
This lesson discusses how actions and requests can be encapsulated as objects to act as callbacks and in the process allow logging, queueing and undo of commands.
Behavioral Patterns - Mediator Pattern
This lesson discusses how the mediator pattern centralizes interaction amongst a number of interacting objects reducing coupling and dependence among them.
Creational Patterns - Builder Pattern
This lesson discusses how complex objects can be represented and constructed without coupling the two operations.
Creational Patterns - Abstract Factory Pattern
This lesson details the working of yet another creational design pattern, that allows us to create a family of products in a flexible and extensible manner.
Structural Patterns - Composite Pattern
This lesson discusses the composite pattern that lets us treat individual elements and group of elements as one.
Behavioral Patterns - Interpreter Pattern
This lesson delves into the interpreter pattern, which allows us to simplify representation and implementation of a new programming language albeit with limited syntax.
Behavioral Patterns - Strategy Pattern
This lesson discusses how a set of policies, algorithms or strategies can be made interchangeable without affecting the clients using them.
Start - Types of Design Patterns
This lesson lists the most used and familiar design patterns
Creational Patterns - Prototype Pattern
This lesson discusses how new objects can be created from existing objects using the prototype pattern.
Structural Patterns - Bridge Pattern
This lesson discusses how parallel class hierarchies or layers can be decoupled from one another using the bridge pattern.
Structural Patterns - Facade Pattern
This lesson discusses how the interface to a complex system of interacting entities can be simplified by providing a front that hides the subsystem intricacies from the client.
Behavioral Patterns - Observer Pattern
This lesson discusses how updates from an object of interest can be communicated efficiently to interested parties using the observer pattern.
Structural Patterns - Flyweight
This lesson discusses how the flyweight pattern can be applied to reduce memory requirements.
Behavioral Patterns - Iterator Pattern
This lesson discusses how the underlying elements that make up an aggregate object can be looped through without exposing implementation details to clients.
Behavioral Patterns - Memento Pattern
This lesson discusses how the state of an object can be exported as a snapshot without exposing the internals of the object.
Behavioral Patterns - Visitor Pattern
This lesson discusses the visitor pattern which adds new behavior to composites without modifying the composite’s or it’s underlying elements’ classes.
Behavioral Patterns - State Pattern
This lesson discusses how an object exhibits very different behavior and appears to be an instance of a different class when its internal state changes under the state pattern.
The End - Epilogue
Start - Introduction
This lesson lays down the groundwork for understanding design patterns
Creational Patterns - Factory Method Pattern
This lesson discusses how derived classes can be given the responsibility of creating appropriate objects.
Behavioral Patterns - Template Method
This lesson discusses how algorithms with multiple steps can be made configurable by allowing subclasses to provide behavior for some of the steps.
The End - Summary
Have questions about Summary? Go for it!