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
|