This article is about the book. For the generic articles, see software design pattern and design pattern.
This article may be in need of reorganization to comply with Wikipedia's layout guidelines. Please help by editing the article to make improvements to the overall structure.(July 2013) (Learn how and when to remove this message)
Design Patterns: Elements of Reusable Object-Oriented Software
Design Patterns: Elements of Reusable Object-Oriented Software (1994) is a software engineering book describing software design patterns. The book was written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, with a foreword by Grady Booch. The book is divided into two parts, with the first two chapters exploring the capabilities and pitfalls of object-oriented programming, and the remaining chapters describing 23 classic software design patterns. The book includes examples in C++ and Smalltalk.
It has been influential to the field of software engineering and is regarded as an important source for object-oriented design theory and practice. More than 500,000 copies have been sold in English and in 13 other languages.[1] The authors are often referred to as the Gang of Four (GoF).[2][3][4][5]
^Zehoo, Edmund (26 January 2010). Zehoo, Edmund (ed.). Pro ODP .NET for Oracle Database 11g. Apress. pp. 351–371. doi:10.1007/978-1-4302-2821-9_13 – via Springer Link.
^Hussain, Shahid; Keung, Jacky; Khan, Arif Ali (2017). "The Effect of Gang-of-Four Design Patterns Usage on Design Quality Attributes". 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS). pp. 263–273. doi:10.1109/QRS.2017.37. ISBN 978-1-5386-0592-9. S2CID 21343926.
^Hunt, John (26 January 2013). Hunt, John (ed.). Scala Design Patterns: Patterns for Practical Reuse and Design. Springer International Publishing. pp. 135–136. doi:10.1007/978-3-319-02192-8_16 – via Springer Link.
^Almadi, Sara H. S.; Hooshyar, Danial; Ahmad, Rodina Binti (26 January 2021). "Bad Smells of Gang of Four Design Patterns: A Decade Systematic Literature Review". Sustainability. 13 (18): 10256. doi:10.3390/su131810256.
^Monteiro, Miguel Pessoa; Fernandes, João M. (26 January 2004). Pitfalls of aspectJ implementations of some of the gang-of-four design patterns. Universidad de Extremadura. ISBN 978-84-688-8889-7 – via repositorium.uminho.pt.
DesignPatterns: Elements of Reusable Object-Oriented Software (1994) is a software engineering book describing software designpatterns. The book was...
recognizable as based on the pattern. Some consider using patterns to be best practice for software design. Some consider using designpatterns as a structured approach...
interaction design / human–computer interaction Pedagogical patterns, in teaching Pattern gardening, in gardening Business models also have designpatterns. See...
A dark pattern (also known as a "deceptive designpattern") is "a user interface that has been carefully crafted to trick users into doing things, such...
one of the patterns included in the influential book DesignPatterns by Gamma et al. that popularized the concept of using designpatterns to describe...
adapter designpattern is one of the twenty-three well-known Gang of Four designpatterns that describe how to solve recurring design problems to design flexible...
Visitor designpattern is one of the twenty-three well-known Gang of Four designpatterns that describe how to solve recurring design problems to design flexible...
Factory Method designpattern is one of twenty-three well-known designpatterns that describe how to solve recurring design problems to design flexible and...
Interaction designpatterns are designpatterns applied in the context human-computer interaction, describing common designs for graphical user interfaces...
engineering, behavioral designpatterns are designpatterns that identify common communication patterns among objects. By doing so, these patterns increase flexibility...
of the twenty-three well-known GoF designpatterns that describe how to solve recurring design problems to design flexible and reusable object-oriented...
Proxy designpattern is one of the twenty-three well-known GoF designpatterns that describe how to solve recurring design problems to design flexible...
Facade designpattern is one of the twenty-three well-known GoF designpatterns that describe how to solve recurring design problems to design flexible...
builder designpattern is to separate the construction of a complex object from its representation. It is one of the Gang of Four designpatterns. The Builder...
decorator designpattern is one of the twenty-three well-known designpatterns; these describe how to solve recurring design problems and design flexible...
observer designpattern is a behavioural pattern listed among the 23 well-known "Gang of Four" designpatterns that address recurring design challenges...
Perl DesignPatterns Book is an online textbook about Perl style and design and analysis. The contents are licensed under GNU Free Documentation License...
singleton pattern can also be used as a basis for other designpatterns, such as the abstract factory, factory method, builder and prototype patterns. Facade...
A sunburst is a design or figure commonly used in architectural ornaments and designpatterns and possibly pattern books. It consists of rays or "beams"...
Architectural patterns are often documented as software designpatterns. An architectural pattern often uses the same description as a general, reusable...
instructor Robert C. Martin, first introduced in his 2000 paper Design Principles and DesignPatterns discussing software rot.: 2–3 The SOLID ideas are The...
known as a designpattern. The reuse of such patterns can increase software development velocity. The difficulty of using the term "design" in relation...
Circuit breaker is a designpattern used in software development. It is used to detect failures and encapsulates the logic of preventing a failure from...