What is a design pattern?
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in software design.
I think that learning design patterns and the underline Object Oriented Design principles is really important. However, it is really difficult and time consuming. It requires a fair amount of discipline.
This is why I created this series of posts.
This post is a simple index that aggregates all the post I have written in the last two years. Most of the frequently used design patterns are covered but there are many others to cover.
I will update this post as soon as I create a post on a new Design Pattern.
My goals for this series of posts
- Read a lot of resources and consolidate the information in a single post
- Present the pattern in a easy way
- Write a good example to illustrate the benefits of using the pattern
- Put the pattern in the context of .NET
- Find real examples of the pattern in the .NET Framework
My main sources of information
- Book: Design Patterns: Elements of Reusable Object-Oriented Software
- Book: Head First Design Patterns
- Book: C# 3.0 Design Patterns
- Pluralsight: Design Pattern Library
- Articles and blogs on the Internet
Design Patterns Posts
- Strategy Design Pattern
- Observer Design Pattern
- Decorator Design Pattern
- Factory Method Design Pattern
- Abstract Factory Design Pattern
- Singleton Design Pattern
- Command Design Pattern
- Adapter Design Pattern
- Facade Design Pattern
- Template Method Design Pattern
- Iterator Design Pattern
- Builder Design Pattern
- Prototype Design Pattern
- Bridge Design Pattern
- Composite Design Pattern
- Flyweight Design Pattern
- Proxy Design Pattern
- Chain of Responsibility Design Pattern
- Interpreter Design Pattern
- Mediator Design Pattern
- Memento Design Pattern
- State Design Pattern
- Visitor Design Pattern
Hope you find this series of posts useful.
This series is the best explanation for .Net developers.