Design Patterns in C# or MVC Core?

Design Patterns :- As a software developer you might have faced so many common problems in your day by day developement activities due to many reasons but the most commonly encountered problems we faced is related to software designs like Object Creation ,Object Initialization,Integration etc. So for overcome to these commonly repeated problems ,Design Patterns was came in picture.
Design Patterns are reusable solutions of these common software design problems.Design Patterns are well defined templates to solve these problems by applied them into real world programming. We can say that these are the Software Patterns that we need to follow in our daily software design approaches. Firstly we need to identify the software design problems and then based on these problems we should use the most effective design pattern that will help to optimize our problems and efficient the system with performance and maitainablity.
A pattern suggest a solution to a particular problem or issue in software developement and the solution is like a blueprint that has description of the specific problem and their solutions too.

"Gang of Four" is the group of 4 Authors, have written a very famous book on Design Patterns and it has mainly 23 Design Patterns that is divided into three categories as listed below.

  • Creational Design Patterns :- As the name suggest this design patterns mostly deals with Object Creation and Initialization.This Design patterns help us to choose which Objects needs to create for a given case to provides the flexibility.
  • Structural Design Patterns :- This Design Patterns used for Classes and Objects composition.This focusing on decoupling of Interfaces and focusing on implementation of Classes and their Objects.
  • Behavioural Design Patterns :- This Design Patterns deals with Classes and Objects Communication.

Below is the list of design patterns which belongs to these three categories :-

Creational Design Patterns Structural Design Patterns Behavioural Design Patterns
Singleton Adaptor Chain of Responsibility
Factory Method Bridge Command
Abstract Factory Composite Interpreter
Builder Decorator Iterator
Prototype Facade Mediator
Flyweight Memento
Proxy Observer
State
Strategy
Visitor
Template Method

Why we use Design Patterns ? There are many reasons to use the Design patterns even if you don't encounter any design problems. This is proven and tested concepts that any developer can apply on his/her coding practices so that they can achieve consistent and efficient system with less maintainence with code reusability.If you are working on a large codebase and if you told your team mate that apply the singleton for this specific requirement then they can easily understand and can apply the singleton pattern and you no need to explain it in details to your team mates.It provides faster development of the applications and it makes design process more cleaner and more efficient.


Image is not available

About the Author
Sudheer Singh Chouhan is a Software Engineer having Expertise in Development Design and Architecting the applications , Project Management , Designing Large Scale Databases in SQL Server since last 17 Years.
Skill Sets :- Microsoft .NET technologies like ASP.Net Core, Web API, LINQ, Web Forms, WinForms, SQL Server, EntityFramework, Design Patterns, Solid Principles, Microservices, AWS Cloud.