MetaCart Sign in to MyCiteSeerX

Include Citations | Advanced Search | Help

Disambiguated Search | Include Citations | Advanced Search | Help

Design Patterns: Abstraction and Reuse of Object-Oriented Design (1993) [140 citations — 1 self]

Abstract:

ion and Reuse of Object-Oriented Design Erich Gamma 1? , Richard Helm 2 , Ralph Johnson 3 , John Vlissides 2 1 Taligent, Inc. 10725 N. De Anza Blvd., Cupertino, CA 95014-2000 USA 2 I.B.M. Thomas J. Watson Research Center P.O. Box 704, Yorktown Heights, NY 10598 USA 3 Department of Computer Science University of Illinois at Urbana-Champaign 1034 W. Springfield Ave., Urbana, IL 61801 USA Abstract. We propose design patterns as a new mechanism for expressing object-oriented design experience. Design patterns identify, name, and abstract common themes in objectoriented design. They capture the intent behind a design by identifying objects, their collaborations, and the distribution of responsibilities. Design patterns play many roles in the object-oriented development process: they provide a common vocabulary for design, they reduce system complexity by naming and defining abstractions, they constitute a base of experience for building reusable software, and they act as buildin...

Citations

1539 Object-Oriented Modeling and Design – Rumbaugh, Blaha, et al. - 1991
497 A Cookbook for Using Model-View-Controller User Interface Paradigm – Krasner, Pope - 1988
481 Self: The power of simplicity – Ungar, Smith - 1987
397 The Timeless Way of Building – Alexander - 1979
177 Documenting frameworks using patterns – Johnson - 1992
175 Software reuse – Krueger - 1992
175 Empirical studies of programming knowledge – Soloway, Erlich - 1984
174 Advanced C++ Programming Styles and Idioms – Coplien - 1992
109 Unidraw: A Framework for Building Domain-Specific – Vlissides, Linton - 1990
98 A Laboratory for Teaching Object-Oriented Thinking – Beck, Cunningham - 1989
94 ET++ — An ObjectOriented Application Framework – Weinand, Gamma, et al. - 1988
90 Object-Oriented Patterns – Coad - 1992
55 The Role of Domain Experience in Software Design – Adelson, E - 1985
49 Refactoring: An aid in designing application frameworks and evolving object-oriented systems – Opdyke, Johnson - 1990
41 Novice mistakes: are the folk wisdoms correct – Spohrer, Soloway - 1989
36 Objektorientierte Software-Entwicklung am Beispiel von ET++: Design-Muster, Klassenbibliothek, Werkzeuge – Gamma - 1992
25 An object-oriented architecture for constraint-based graphical editing – Helm, Huynh, et al. - 1992
17 ET++SwapsManager: Using object technology in the financial engineering domain – Eggenschwiler, Gamma - 1992
15 Cognitive issues in reusing software artifacts – Curtis - 1989
15 Paris: A system for reusing partially interpreted schemas – Katz, Richter, et al. - 1987
10 The RTL system: A framework for code optimization – Johnson, McConnell, et al. - 1992
7 Encapsulating a C++ Library – Linton - 1992
7 Formalizing reusable software components in the programmer's apprentice – Rich, Waters - 1989
4 A catalog of object-oriented design patterns – Gamma, Helm, et al. - 1992
4 A linear constraint technology for user interfaces – Helm, Huynh, et al. - 1992
2 Constructing abstractions for object-oriented applications – Cunningham, Beck - 1987
2 Software design using reusable algorithm abstraction – Harandi, Young - 1985
1 The ET++SwapsManager: Using object technology in the nancial engineering domain – Eggenschwiler, Gamma - 1992
1 ET++|An object-oriented application framework in C – AndreWeinand, Marty - 1988