Design Pattern has gained a significant importance in the IT industry over the past few years. Pattern is a well defined solution for common software problems and is mostly used in SDLC(Software Development Life Cycle) in Design and Analysis phase.
Design patterns are independent strategies that are used to solve the common object oriented design problems. The book "Design Pattern - Elements of Reusable Object-Oriented Software"was published in 1994 and explains the concept of Design Pattern in Software development. The four authors of the Design pattern book are as follows:
A bad design can be avoided by following the below software design principles. The principles of design are as follows:
Use object composition instead of inheritance.
Program is not an implementation, it is an interface.
Since Design patterns are pre-defined, they provide industry standard approach to solve a problem.
System architecture is defined using Design pattern.
Pattern is reusable and can be used in multiple projects.
Patterns provide transparency to the design of application.
As patterns are built based on the knowledge and expertise of experienced software developers, they are well designed and tested.
Code maintenance can be done in a robust way by using patterns
When Patterns are used, the code can be easily understood and debugged.
Design patterns accelerate the software development process.