January 1995
·
1,147 Reads
·
3,392 Citations
Design patterns are a form of documentation that proposes solutions to recurring object-oriented software design problems. Design patterns became popular in software engineering thanks to the book published in 1995 by the Gang of Four (GoF): Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Since the publication of the book Design Patterns: Elements of Reusable Object-Oriented Software, design patterns have been used to design programs and ease their maintenance, to teach object-oriented concepts and related “good” practices in classrooms, and to assess quality and help program comprehension in research. However, design patterns may also lead to overengineered programs and may negatively impact quality. We recall the history of design patterns and present some recent development characterizing the advantages and disadvantages of design patterns. Design patterns are a form of documentation that proposes solutions to recurring object-oriented software design problems. Design patterns became popular in software engineering thanks to the book published in 1995 by the Gang of Four (GoF): Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Since the publication of the book Design Patterns: Elements of Reusable Object-Oriented Software, design patterns have been used to design programs and ease their maintenance, to teach object-oriented concepts and related “good” practices in classrooms, and to assess quality and help program comprehension in research. However, design patterns may also lead to overengineered programs and may negatively impact quality. We recall the history of design patterns and present some recent development characterizing the advantages and disadvantages of design patterns.