Advertisement

Lessons Learned from Using Design Patterns in Industry Projects

  • Dirk Riehle
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6510)

Abstract

Design patterns help in the creative act of designing, implementing, and documenting software systems. They have become an important part of the vocabulary of experienced software developers. This article reports about the author’s experiences and lessons learned with using and applying design patterns in industry projects. The article not only discusses how using patterns benefits the design of software systems, but also how firms can benefit further from developing a firm-specific design language and how firms can motivate and educate developers to learn and develop this shared language.

Keywords

Design pattern pattern language design language design communication design collaboration design implementation design documentation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)zbMATHGoogle Scholar
  2. 2.
    Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language. Oxford University Press, Oxford (1977)Google Scholar
  3. 3.
    Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stahl, M.: Pattern-Oriented Software Architecture. Wiley, Chichester (1995)Google Scholar
  4. 4.
    Zdun, U., Avgeriou, P.: Modeling Architectural Patterns Using Architectural Primitives. In: Proceedings of OOPSLA 2005, ACM Press, New York (2005)Google Scholar
  5. 5.
    Riehle, D.: Composite Design Patterns. In: Proceedings of OOPSLA 1997. ACM Press, New York (1997)Google Scholar
  6. 6.
    Riehle, D.: The Perfection of Informality: Tools, Templates, and Patterns. Cutter IT Journal 16(9), 22–26Google Scholar
  7. 7.
    Riehle, D., Züllighoven, H.: Using Patterns in Software Development. TAPOS 2(1) (1996)Google Scholar
  8. 8.
    Schön, D.: The Reflective Practitioner (1983)Google Scholar
  9. 9.
    Gabriel, R.P.: Writers’ Workshops and the Work of Making Things. Addison Wesley, Reading (2004)Google Scholar
  10. 10.
    Vlissides, J.: Pattern Hatching. Addison-Wesley, Reading (1998)Google Scholar
  11. 11.
    Beck, K., Coplien, J.O., Crocker, R., Dominick, L., Meszaros, G., Paulisch, F.: Industrial Experience with Design Patterns. In: Proceedings of the 18th International Conference on Software Engineering. IEEE Press, Los Alamitos (1996)Google Scholar
  12. 12.
    Schmidt, D.C.: Experience Using Design Patterns to Develop Reusable Object-Oriented Communication Software. Communications of the ACM (October 1995)Google Scholar
  13. 13.
    Buschmann, F., Henney, K., Schmidt, D.C.: Pattern-Oriented Software Architecture. On Patterns and Pattern Languages, vol. 5. John Wiley and Sons, Chichester (2007)Google Scholar
  14. 14.
    Riehle, D.: “Value Object”. In: Proceedings of the 2006 Conference on Pattern Languages of Programming (PLoP 2006). ACM Press, New York (2006)Google Scholar
  15. 15.
    Riehle, D.: The JValue Framework for Java Value Objects, http://www.jvalue.org
  16. 16.
    Riehle, D., Siberski, W., Bäumer, D., Megert, D., Züllighoven, H.: Serializer. In: Pattern Languages of Program Design 3,  ch. 17, Addison-Wesley, Reading (1998)Google Scholar
  17. 17.
    Gamma, E.: JHotDraw, http://www.jhotdraw.org
  18. 18.
    Woolf, B.: Null Object. In: Pattern Languages of Program Design 3,  ch. 1, Addison-Wesley, Reading (1998)Google Scholar
  19. 19.
    Kerievsky, J.: A Learning Guide to Design Patterns, http://www.industriallogic.com/papers/learning.html
  20. 20.
    The Sillicon Valley Patterns Group, http://www.siliconvalleypatterns.org
  21. 21.
    Bialik, T., Ruffer, R.: Personal Communication (2005)Google Scholar
  22. 22.
    Vlissides, J.: Personal Communication (2001)Google Scholar
  23. 23.
    Brand, S.: How Buildings Learn: What Happens After they are Built. Penguin (1994)Google Scholar
  24. 24.
    Coplien, J., Schmidt, D. (eds.): Pattern Languages of Program Design. Addison-Wesley, Reading (1995)Google Scholar
  25. 25.
    Avgeriou, P., Zdun, U.: Architectural Patterns Revisited – A Pattern Language. In: Proceedings of the 10th European Pattern Languages of Programming Conference. Universitatsverlag Konstanz (2005)Google Scholar
  26. 26.
    Harrison, N.: Organizational Patterns for Teams. In: Pattern Languages of Program Design 2, Addison Wesley, Reading (1996)Google Scholar
  27. 27.
    Vlissides, J., Coplien, J., Kerth, N. (eds.): Pattern Languages of Program Design 2. Addison-Wesley, Reading (1996)Google Scholar
  28. 28.
    Martin, R., Riehle, D., Buschmann, F. (eds.): Pattern Languages of Program Design 3. Addison-Wesley, Reading (1998)Google Scholar
  29. 29.
    Harrison, N., Foote, B., Rohnert, H. (eds.): Pattern Languages of Program Design 4. Addison-Wesley, Reading (2000)Google Scholar
  30. 30.
    Manolescu, D., Voelter, M., Noble, J. (eds.): Pattern Languages of Program Design 5. Addison Wesley, Reading (2005)Google Scholar
  31. 31.
    Riehle, D., Schäffer, B., Schnyder, M.: Design of a Smalltalk Framework for the Tools and Materials Metaphor. Informatik/Informatique, 20–22 (February 1996)Google Scholar
  32. 32.
    Riehle, D.: Framework Design: A Role Modeling Approach. Dissertation, No. 13509. Zürich, Switzerland, ETH Zürich (2000)Google Scholar
  33. 33.
    Riehle, D., Fraleigh, S., Bucka-Lassen, D., Omorogbe, N.: The Architecture of a UML Virtual Machine. In: Proceedings of the 2001 Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2001), pp. 327–341. ACM Press, New York (2001)Google Scholar
  34. 34.
    Bischofberger, W., Guttman, M., Riehle, D.: Global Business Objects: Requirements and Solutions. In: Mätzel, K.-U., Frei, H.-P. (eds.) Proceedings of the 1996 Ubilab Conference, Zürich, pp. 79–98. Universitätsverlag Konstanz, Konstanz, Germany (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Dirk Riehle
    • 1
  1. 1.SAP Research, SAP Labs, LLCPalo AltoU.S.A.

Personalised recommendations