Design Patterns are solutions to general problems that software developers faced during software development. Design Pattern is a template or description for how to solve problem and can be used for many different problems. Which design pattern to use when is depend on individual need and problem.
There are total 23 design patterns also knows as GOF (Gang of Four) patterns.
Creational Patterns (deals with creation of objects)
- Singleton Pattern (Thread safe singleton pattern)
- Factory Pattern
- Abstract Factory Pattern
- Builder Pattern
- Prototype Pattern
Structural Patterns (deals with object structure)
- Adapter Pattern
- Bridge Pattern
- Composite Pattern
- Decorator Pattern
- Facade Pattern
- Flyweight Pattern
- Proxy Pattern
Behavioral Patterns (deals with object communication)
- Chain of Responsibility Pattern
- Command Pattern
- Interpreter Pattern
- Iterator Pattern
- Mediator Pattern
- Memento Pattern
- Observer Pattern
- State Pattern
- Strategy Pattern
- Template Pattern
- Visitor Pattern
- Background Worker in WPF
- ThreadPool in C#
- Lock Statement
- System.Threading.Timer vs. System.Timers.Timer
- How to pass data as an argument to Thread?
- How to handle exception while working with Threading?
Task Parallel Library
- Parallel.For and Parallel.Foreach
- How to handle exception in Parallel.For and Parallel.Foreach loop?
- How to cancel a Parallel.For and Parallel.Foreach loop