Skip to main content

Design Patterns — Ten Years Later

  • Chapter
  • First Online:
Software Pioneers

Abstract

Design patterns have changed the way software developers design object-oriented systems. Rather than rediscovering solutions to recurring design problems over and over again, developers can now refer to a body of literature that captures THE best practices of system design. This article looks back to where design patterns came from, shows design patterns in action, and provides an overview of where patterns are today.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Deepak, A., J. Crupi, D. Malks. Core J2EE Patterns: Best Practices and Design Strategies. Prentice Hall, 2001.

    Google Scholar 

  2. Alexander, C., S. Ishikawa, M. Silverstein, et al. A Pattern Language. Oxford University Press, New York, 1977

    Google Scholar 

  3. Alexander, C. The Timeless Way of Building. Oxford University Press, New York, 1979

    Google Scholar 

  4. Beck, K., J.O. Coplien, R. Crocker, et al. Industrial experience with design patterns. Proceedings of the 18th International Conference on Software Engineering (pp. 103–114), Berlin, Germany, March 1996.

    Google Scholar 

  5. Beck, K. Smalltalk Best Practice Patterns. Prentice Hall, 1996

    Google Scholar 

  6. Beck, K. Extreme Programming Explained: Embrace Change. Addison-Wesley, Reading, MA, 1999.

    Google Scholar 

  7. Buschmann, E, R. Menunier, H. Rohnert, M. Stal. Pattern-Oriented Software Architecture - A System of Patterns. Wiley, Chichester, England, 1996.

    Google Scholar 

  8. Booch, G., I. Jacobson, J. Rumbaugh. The Unified Modeling Language User Guide. Addison-Wesley, Reading, MA, 1998.

    Google Scholar 

  9. Coplien, J. Advanced C++ Programming Styles and Idioms. Addison-Wesley, Reading, MA, 1992.

    Google Scholar 

  10. Coplien, J.O., D. C. Schmidt (Eds.). Pattern Languages of Program Design. Addison-Wesley (Software Patterns Series), Reading, MA, 1995

    Google Scholar 

  11. Fowler, M. Analysis Patterns: Reusable Object Models. Addison-Wesley, Reading, MA, 1997.

    Google Scholar 

  12. Fowler, M. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading, MA, 1999.

    MATH  Google Scholar 

  13. Gamma, E. Object-Oriented Software Development Based on ET++: Design Patterns, Class Library, Tools (in German). Doctoral thesis, University of Zurich, Institut für Informatik, 1991.

    Google Scholar 

  14. Gamma, E., R. Helm, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Abstraction and Reuse of Object-Oriented Design ECOOP ’93, Lecture Notes in Computer Science 707. Springer, Berlin Heidelberg New York, p. 406 ff.

    Google Scholar 

  15. Gamma, E., R. Helm, R. Johnson, J. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, 1995.

    MATH  Google Scholar 

  16. Harrison, N., B. Foote, H. Rohnert (Eds.). Pattern Languages of Program Design 4. Addison- Wesley (Software Patterns Series), Reading, MA, 2000

    Google Scholar 

  17. JavaSoft, Inc. Java Development Kit. Mountain View, CA, 1997

    Google Scholar 

  18. Johnson, R. Documenting Frameworks Using Patterns. In Proc. OOPSLA ‘92, pages 63–76, Vancouver BC, Oct. 1992.

    Google Scholar 

  19. Lea, D. Concurrent Programming in Java, Design Principles and Patterns, 2nd edition. Addison-Wesley, Reading, MA, 1999

    MATH  Google Scholar 

  20. Linton, M., J. Vlissides, and P. Calder. Composing User Interfaces with Interviews. Computer 22(2):8–22,1989.

    Article  Google Scholar 

  21. Martin, R., D. Riehle, and F. Buschmann (Eds.). Pattern Languages of Program Design 3. Addison-Wesley, Reading, MA, 1998.

    Google Scholar 

  22. Prechelt, L. An experiment on the usefulness of design patterns: Detailed description and evaluation. Technical Report 9/1997, University of Karlsruhe, Germany, June 1997.

    Google Scholar 

  23. Rising, L. The Pattern Almanac 2000. Addison-Wesley, Reading, MA, 2000.

    Google Scholar 

  24. Schmidt, D., M. Stal, H. Rohnert, F. Buschmann. Pattern-Oriented Software Architecture - Patterns for Concurrent and Networked Objects. Wiley and Sons Ltd., Chichester, England, 2000.

    Google Scholar 

  25. http://c2.com/doc/oopsla87.html

  26. http://hillside.net/patterns

  27. http://www.junit.org

  28. http://www.acm.org/sigplan/oopsla/oopsla99/2_ap/tech/2dla_gang.html

  29. Cotter, S., M. Potel. Inside Taligent Technology. Addison-Wesley, Reading, MA, 1995.

    Google Scholar 

  30. Vlissides, J., J. Coplien, and N. Kerth (Eds.). Pattern Languages of Program Design 2. Addison-Wesley, Reading, MA, 1996.

    Google Scholar 

  31. Weinand, A., E. Gamma, and R. Marty. ET++-An object-oriented application framework in C++. In Object-Oriented Programming Systems, Languages, and Applications Conference Proceedings, pages 46–57, San Diego, CA. ACM Press, 1988.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Gamma, E. (2002). Design Patterns — Ten Years Later. In: Broy, M., Denert, E. (eds) Software Pioneers. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-59412-0_39

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-59412-0_39

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-63970-8

  • Online ISBN: 978-3-642-59412-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics