We propose design patterns as a new mechanism for expressing object-oriented design experience. Design patterns identify, name, and abstract common themes in object-oriented 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 building blocks from which more complex designs can be built. Design patterns can be considered reusable micro-architectures that contribute to an overall system architecture. We describe how to express and organize design patterns and introduce a catalog of design patterns. We also describe our experience in applying design patterns to the design of object-oriented systems.
CITATION STYLE
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (2002). Design Patterns: Abstraction and Reuse of Object-Oriented Design. In Software Pioneers (pp. 701–717). Springer Berlin Heidelberg. https://doi.org/10.1007/978-3-642-59412-0_40
Mendeley helps you to discover research relevant for your work.