Design Patterns - What They Are And What They Solve

Design Patterns – What They are and What They Solve

by Alex Noah — 3 years ago in Development 2 min. read

Design Patterns are key solutions to common problems we encounter in object-based software development or maintenance. Looking at it this way it seems to be something really quite exquisite, doesn’t it?

Let’s try to understand from another perspective: imagine you in the future, 15 years from now, you will certainly have gone through N problems, repeatedly and in different projects. The natural tendency is for you to create usual solutions to solve them in such a way that you can apply them in the future to other projects.

These solutions, created by you, even if not shared with the literature, can be considered as Design Patterns, yes, design patterns created by you to solve your problems. Nothing fairer?

Luck of the day: We don’t need to wait ten or more years to accumulate experience (and, consequently, hair loss) so that we have developed efficient solutions for our software.

Software engineers for decades have developed design patterns to solve common problems. Why not give them a chance to get to know them and, who knows, use them?
Also read: How to choose The Perfect Domain Name

How it all began

All the inspiration behind our concept of design patterns actually came from architecture (yes, that area of ​​knowledge that designs and architects environments), from a book called “A Patter Language”, written by Christopher Alexander, Sara Ishikawa and Murray Silverstein were the ones who first launched the idea of “pattern language”.

The purpose of the book was to present hundreds of patterns about how cities, neighborhoods, homes and environments in general could be designed.

The first major work in the area of ​​software development that absorbed this idea, collecting and developing dozens of patterns for software, took place in 1994 in a book called “Design Patterns: Elements of Reusable Object-Oriented Software”, written byRalph Johnson, Richard Helm, Erich Gamma and John Vlissides.

The book originally discussed 23 design patterns. The authors and the book made such an impact that they began to be called and recognized as the Gang of Four (GoF) and such patterns began to be called GoF Patterns.
Also read: Top 10 IT Skills in Demand for 2021

Categories of GoF Standards

GoF standards have been described decades ago and, software is almost like a living organism, it undergoes transformations to adapt to the new realities of the environment.

The GoF standards have been divided and categorized according to the nature of the problem they solve (or at least they try, since software, as you well know, is something with a “life of its own):

Creation design:

Aims to abstract the instantiation of objects. With them, the system will request an object of a certain type and have it ready, on demand, without even worrying about the nuances of creation. Making a parallel with the real world, an automobile company when it needs shock absorbers, it outsources (requests them) and then installs them in their cars, without worrying about the whole involved in creating this component.

Structural designs:

The designs in this category are concerned with better organizing the structure of classes and the relationships between classes and objects.

Behavioral designs:

The standards in behavioral design act directly in the delegation of responsibilities, defining how objects should behave and communicate.

Alex Noah

Alex is senior editor of The Next Tech. He studied International Communication Management at the Hague University of Applied Sciences.

Notify of
Inline Feedbacks
View all comments

Copyright © 2018 – The Next Tech. All Rights Reserved.