Open In App

Catalog of Design Patterns

A Pattern, in general, refers to the particular layout which helps to perform certain tasks with ease. Technically, patterns can be considered as devices that help the program in sharing the knowledge of their design.

The term design pattern is used in object-oriented terminology to perform the tasks such as defining the objects, classes, interfaces hierarchy and factoring them into classes with relationships. Once all these steps are considered as a pattern they can reuse them by applying them to several common problems.



A design pattern can be considered as a reusable solution for the commonly occurring problems in software design. A Design pattern is not a finished design, rather it is a template to solve the problem in many different solutions. 

The most influential work on design patterns was done by Gamma, Helm, Jonson, and Vlissides are commonly known as Group of Four (GOF). The GoF design pattern can be described as communication among classes and objects which are customized for solving a design problem in a specific context.



Essential Element of Design Pattern:

There are four essential elements of a design pattern. They are  as follows:

The Catalog of Design Patterns:

The Design Patterns are organized into a form of a catalog. These Design Patterns collectively assist in software engineering by finding objects, specifying objects implementations, objects interfaces, determining objects granularity, implementing reuse mechanisms, etc. The Intents specify what the design pattern does. Some of the patterns with their names and intents  are as follows,

Uses of Design Patterns in Software Engineering: 

A design pattern in the context of software engineering is a template or reusable solution to common problems occurring in software design. This is usually represented with the classes and objects, interfaces, etc. The one application of a design pattern is “Reusability of Solutions”,  By using the proven solution, users can solve software development issues that enable the development of highly cohesive modules with coupling.

Need of Design pattern:

 

Article Tags :