An overview of Software Design Patterns in five minutes

Prateek Nima
3 min readFeb 7, 2023
Photo by Christina @ wocintechchat.com on Unsplash

One of the core components of designing software is building reusable software components. Whenever we start building software the code would be readable and understood across the team but as we start adding new features there is a high chance that the code particulars will become more and more complex adding new hierarchies and will lead to difficulties in knowledge sharing. Additionally, there are frequent changes that come up as we iterate through the processes, and changing a small part of the application should not lead to changes in the entire application.

Software development has been here for ages and programmers have come across many such problems which led to the existence of design patterns. They are templates that can be utilized and customized for software development. Each of the design patterns has its own motivation, structure, and implementation that can be utilized based on the use case you are looking for. This article focuses on giving you an overview and classification of design patterns.

Design Pattern Classification

Design Patterns can be widely categorized into three categories, namely:

--

--