Everything began in 1994, when four computer scientists Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, published an iconic book “Design Patterns: Elements of Reusable Object-Oriented Software”.
The content in the book speaks of ways of solving common, specific problems that appear continuously in the software development world. It became a major success, and the four authors became known as the “Gang of Four” or “GoF”.
Learning and understanding design patterns play a pivotal role in catalyzing your programming problem-solving skills. It ramps up your efficiency as you don’t have to reinvent the wheel every time you get a new coding task.
The trick is to identify these common problems as early as the start of the design phase of software development. Then you can use the appropriate design patterns to solving those problems. And voila, you’ve made design patterns of use to you, but most importantly, to progress through your difficulties with already accepted, widely used, and proven best practices.
As programmers or architects, we do realize that software requirements are susceptible to changes. They tend to eventually and consistently evolve in a way that none of us can anticipate.