The Wikipedia definition of Software Design Pattern states:
In software engineering, a design pattern is a general repeatable solution to a commonly occurring problem in software design. A design pattern isn't a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations.
Most of us have grown up using or listening about Gang of Four (GoF) patterns for Object-Oriented Design and Programming (OOD/OOP). These object-oriented design patterns are used to solve known problems of objects and are differentiated as creational, structural, and behavioral patterns.
On the same lines, we have also been ...