• Corpus ID: 54007465

Design patterns: elements of reuseable object-oriented software

  title={Design patterns: elements of reuseable object-oriented software},
  author={Erich Gamma and Richard Helm and Ralph E. Johnson and John M. Vlissides},
The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out they've known about patterns all along. It's just that they've never considered them as such, or tried to centralize the idea behind a given pattern so that it will be easily reusable. 
Software design patterns
The term has a special sense in contemporary software design, most notably in the object-oriented programming community, one that is unrelated to pattern-matching languages or regular expressions.
Design Patterns - Ten Years Later
  • E. Gamma
  • Art, Computer Science
    Software Pioneers
  • 2002
This article looks back to where design patterns came from, shows design patterns in action, and provides an overview of where patterns are today.
Design patterns generic models
Generic models of software design patterns defined in terms of design patterns' programming meaning or effective execution behaviors are discussed, based on 23 design patterns cataloged in the seminal book by famous GoF authors: Design patterns, Elements of Reusable Object-Oriented Software.
Impact of Object Oriented Design Patterns on Software Development
This paper seeks to evaluate the advantages and disadvantages of design patterns and aims to make it easier for designers to use well-known and successful designs developed from expert experience.
Report of Design Patterns
This report shows how the design pattern documentation project documented patterns, and the advantages and disadvantages of documenting design patterns.
Representing Design Patterns as Design Components
In this method, design patterns are represented as design components that may by placed in the library of pattern prototypes, and an instance can be created when designing an actual application.
Design patterns in architectures based on use cases
This work presents an approach for developing an architecture based on use cases and the identification of some central design patterns for any large object-oriented system, and discusses a case study exemplifying the proposed architecture.
Pattern-Oriented Development with Rational
This article will show how patterns can be combined in Rational Rose to develop new patterns, and how the entire software specification process can be based on a combination of patterns.
Design patterns in object oriented analysis and design
  • Shuai Jiang, Huaxin Mu
  • Computer Science
    2011 IEEE 2nd International Conference on Software Engineering and Service Science
  • 2011
This paper briefly introduces the concept of software design pattern and gives a research on some design patterns including Strategy Pattern, Iterator Pattern, Adapter Pattern and Façade Pattern.
Design Patterns in Scientific Software
A method of teaching design patterns which introduces patterns as they are used in refactoring, extending and reusing a computational science case study is described.


Encapsulating a C++ Library
This paper presents the encapsulation techniques used in the InterViews 3.1, a C++ class library for building user interfaces, formulated from the experience of building and releasing InterViewS over a period of several years.
Composing user interfaces with InterViews
A user interface toolkit that offers a rich set of composition mechanisms and a variety of predefined objects, allowing easy implementation of complex user interfaces, and support for end-user customization as well as the status of the current implementation is described.
The design and evolution of C++
The Prehistory of C++ and the C++ Language Design Rules, 1985-1993, and Looking Ahead, which describes the future of the language and its structure, are published.
ET++ - An Object-Oriented Application Framework in C++
The paper describes the graphic model and its underlying abstract window system interface, shows composite objects as a substrate for declarative layout specification of complex dialogs, and presents a model for editable text allowing the integration of arbitrary interaction objects.
Transparent forwarding: First steps
This research extends the Smalltalk-80 system to send messages transparently to objects residing on remote machines to discuss two models for remote message sends and suggest areas for future research.
C++ Strategies and Tactics
This chapter discusses Design for Inheritance, which focuses on the design and implementation of the Protected Interface, and some examples from the literature on Abstraction, which deals with relationships between Abstractions and Inheritance.
IRIS Inventor, a 3D graphics toolkit
Encapsulation of data and methods in high-level graphical objects allows Inventor to provide a significant improvement in usability to developers, as compared to the standard, low-level set of graphics primitives provided in most other graphics libraries.
Regular stagecoach travel could be accomplished between Boston and New York by the mid 1740s, but the journey was an uncomfortable one. In the summer, dust filled the inside of the coach, and those
libg++, The GNU C++ Library