Primary Objective of these patterns
These patterns serve as building blocks for the developers in writing efficient, flexible, and easily maintainable code. They are widely used in industry while writing code for software applications. Each of the design pattern describes a particular problem and provides a specific solution for it.
Following are the primary objectives:
1. Reusability
The reusability principle says that the code previously written shall be usable by other components of our system in different parts of our software helping the developers avoid code redundancy and other bugs that might arise.
2. Maintainability
The maintainability property of the code mainly focuses on the structure of our code, and the flexibility it offers us. The code shall be easily modifiable which can be achieved by dividing our application into various modules each one having a single responsibility. So, if any changes were to be made in any part of our application, it won’t effect other areas.
3. Scalability
The design patterns offers developers with a lot of flexibility while making certain changes so if there are some additional components to be added or any functionality to be removed, then that can be done effectively while following certain design patterns.
4. Communication and collaboration
Design patterns have a common set of vocabulary and their meanings, when developers are familiar with these patterns they can effectively communicate the idea to each other which promotes collaboration and better problem solving skills while also avoiding any misunderstanding.
Introduction to Gang Of Four(GoF) | Design Patterns
The book Design Patterns: Elements of Reusable Object-Oriented Software consists of 23 Design patterns, which are collectively called: “Gang Of Four Design Patterns” (abbreviated as – GoF). The reason why we call it a ‘Gang Of Four’ is because the book is co-authored by the following 4 authors :
Erich Gamma
Richard Helm
Ralph Johnson
John Vlissi
Important Topics for Gang of Four (GOF)
- Types of GOF Pattern
- Primary Objective of these patterns :
- Creational Design Patterns
- Structural Design Patterns
- Behavioral Design Pattern
This book popularized the concept of design patterns that serve as a solution for software design problems. And its considered as a classic in modern software engineering literature. It categorized the software design patterns into – Creational, Structural, and Behavioral Design Patterns.