In this article we will learn various reasons that will describe what is the need for design patterns for solving problems.
Design of object oriented software is hard: People who are familiar with object oriented software development are familiar with the fact that designing reusable object oriented software is very hard. So, what will make the development of reusable software easier?
Experienced Vs novice designers: The experienced designers use their knowledge they had gained from their experience in designing object oriented software. The novice designers who have no experience in designing are left with numerous ways to develop the designs which may lead them to develop ineffective designs.
The experienced designers have documented their experience as design patterns. These design patterns helps the novice designers to develop the right and effective design.
Flexible, elegant and reusable software: By applying design patterns we can develop software that is flexible: software that is easily adaptable, elegant: easy to understand and code, and reusable: designs or code can be reused for developing software in the future.
Documentation: As a software designer and developer we will be developing a variety of software for several problems. While designing, we will observe some patterns which will be encountered in other future designs. It is a human habit to forget what we do now.
So, we can document the patterns we observe in our designs for future reference. Design patterns are well documented which provide us with necessary information when needed.
Suryateja Pericherla, at present is a Research Scholar (full-time Ph.D.) in the Dept. of Computer Science & Systems Engineering at Andhra University, Visakhapatnam. Previously worked as an Associate Professor in the Dept. of CSE at Vishnu Institute of Technology, India.
He has 11+ years of teaching experience and is an individual researcher whose research interests are Cloud Computing, Internet of Things, Computer Security, Network Security and Blockchain.
He is a member of professional societies like IEEE, ACM, CSI and ISCA. He published several research papers which are indexed by SCIE, WoS, Scopus, Springer and others.
Leave a Reply