What is Design Pattern

Design patterns provide the solution to software design problems that evolved from object-oriented programming. Basically, design patterns are reusable for the design and the object.
Implementing design patterns in our applications is proven and tested. Writing the code and aligning it with design patterns will make our applications very Reliable, Scalable, and Maintainable.   
What are the Design Patterns
Design patterns are a reusable solution for the design and the object interaction for the problems that occur repeatedly in application development. It’s basically a template or you can say description of how to solve problems that can be reusable or we can say we can use it in many situations.
A gang of four (Gof) are those who brought the concept of design patterns. The design pattern is “Elements of Reusable Object-Oriented software “.
Gang of Four has divided the book into two parts with the first part explaining the pros and cons of object-oriented programming and the second part describing the evolution of 23 classic software design patterns.

For more details, please refer to the following Wikipedia article
Types of Design Patterns
Gang of Four has categorized the design patterns into 3 types based on different problems encountered in real-world applications. They are Creational, Structural, and Behavioural.
Creational Design Pattern
These patterns deal with object creation and initialization. The creational pattern gives the program more flexibility in deciding which objects need to be created for a given case.
  1. Singleton
  2. Factory design pattern
  3. Factory Method design pattern
  4. Abstract Factory design pattern
  5. Builder design pattern
  6. Fluent Interface Design Pattern in C# with Examples
  7. Prototype design pattern
Structural Design Patterns
This pattern deals with class and object composition. In simple words, This pattern focuses on the decoupling interface and implementation of classes and their objects. 
  1. Adapter
  2. Bridge
  3. Composite
  4. Decorator
  5. Facade
  6. Flyweight
  7. Proxy
Behavioral Design Patterns
These patterns deal with communication between Classes and objects. `
  1. Chain of Responsibility
  2. Command
  3. Interpreter
  4. Iterator
  5. Mediator
  6. Memento
  7. Observer
  8. State
  9. Strategy
  10. Visitor
  11. Template Method

Share this

Related Posts

Next Post »


Write comments
February 7, 2022 at 10:32 AM delete

Thank you for the article.