hi, this post I will try to summary everything relate C# design patterns.
What is design pattern?
A software design pattern is a general, reusable solution to a commonly occurring problem within a given context.
Why should I learn design patterns?
They help to avoid reinventing wheels. Many of the problems you’ll face in your career have been solved before. Learn to recognize them and the patterns that can be used to address them.
Patterns can help you to be more effective and to deliver better software. Often, difficult problems or duplicate code implementations can be solved elegantly using a design pattern.
How many types of design pattern?
There are three types of design patterns. They are: creational, structural, behavior.
Most common used of C# design pattern
What design patterns should i learn?
Here are some design patterns for C# developer to understand. If you are looking for a starting point. The strategy design pattern is definitely one of my favorites. Another pattern that works very well with the strategy pattern is the repository. The repository is a data access pattern. It tends to do a really good job of decoupling your system from its persistence concerns. Another one of the most common patterns is the adapter.
Frequently in our systems, we may have objects that are somewhat difficult to create. The factory design pattern is an excellent pattern for you to recognize and understand. This pattern is tightly related to the idea of an IoC container. If you have a good understanding of the factory design pattern, it will also help you understand dependency injection and IoC containers event better.
Next, you should probably understand the proxy and the decorator patterns. These two patterns are very closely related but they have different intents.
Lastly, I think you should be familiar with the singleton pattern. You should understand how to apply the singleton in the proper way because it’s easy to get wrong.
best c# design pattern book
C# design pattern interview questions and answers
C# design pattern cheat sheet
C# design patterns course