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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison Wesley, Reading (1995)
Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language. Oxford University Press, Oxford (1977)
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stahl, M.: Pattern-Oriented Software Architecture. Wiley, Chichester (1995)
Zdun, U., Avgeriou, P.: Modeling Architectural Patterns Using Architectural Primitives. In: Proceedings of OOPSLA 2005, ACM Press, New York (2005)
Riehle, D.: Composite Design Patterns. In: Proceedings of OOPSLA 1997. ACM Press, New York (1997)
Riehle, D.: The Perfection of Informality: Tools, Templates, and Patterns. Cutter IT Journal 16(9), 22–26
Riehle, D., Züllighoven, H.: Using Patterns in Software Development. TAPOS 2(1) (1996)
Schön, D.: The Reflective Practitioner (1983)
Gabriel, R.P.: Writers’ Workshops and the Work of Making Things. Addison Wesley, Reading (2004)
Vlissides, J.: Pattern Hatching. Addison-Wesley, Reading (1998)
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)
Schmidt, D.C.: Experience Using Design Patterns to Develop Reusable Object-Oriented Communication Software. Communications of the ACM (October 1995)
Buschmann, F., Henney, K., Schmidt, D.C.: Pattern-Oriented Software Architecture. On Patterns and Pattern Languages, vol. 5. John Wiley and Sons, Chichester (2007)
Riehle, D.: “Value Object”. In: Proceedings of the 2006 Conference on Pattern Languages of Programming (PLoP 2006). ACM Press, New York (2006)
Riehle, D.: The JValue Framework for Java Value Objects, http://www.jvalue.org
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)
Gamma, E.: JHotDraw, http://www.jhotdraw.org
Woolf, B.: Null Object. In: Pattern Languages of Program Design 3, ch. 1, Addison-Wesley, Reading (1998)
Kerievsky, J.: A Learning Guide to Design Patterns, http://www.industriallogic.com/papers/learning.html
The Sillicon Valley Patterns Group, http://www.siliconvalleypatterns.org
Bialik, T., Ruffer, R.: Personal Communication (2005)
Vlissides, J.: Personal Communication (2001)
Brand, S.: How Buildings Learn: What Happens After they are Built. Penguin (1994)
Coplien, J., Schmidt, D. (eds.): Pattern Languages of Program Design. Addison-Wesley, Reading (1995)
Avgeriou, P., Zdun, U.: Architectural Patterns Revisited – A Pattern Language. In: Proceedings of the 10th European Pattern Languages of Programming Conference. Universitatsverlag Konstanz (2005)
Harrison, N.: Organizational Patterns for Teams. In: Pattern Languages of Program Design 2, Addison Wesley, Reading (1996)
Vlissides, J., Coplien, J., Kerth, N. (eds.): Pattern Languages of Program Design 2. Addison-Wesley, Reading (1996)
Martin, R., Riehle, D., Buschmann, F. (eds.): Pattern Languages of Program Design 3. Addison-Wesley, Reading (1998)
Harrison, N., Foote, B., Rohnert, H. (eds.): Pattern Languages of Program Design 4. Addison-Wesley, Reading (2000)
Manolescu, D., Voelter, M., Noble, J. (eds.): Pattern Languages of Program Design 5. Addison Wesley, Reading (2005)
Riehle, D., Schäffer, B., Schnyder, M.: Design of a Smalltalk Framework for the Tools and Materials Metaphor. Informatik/Informatique, 20–22 (February 1996)
Riehle, D.: Framework Design: A Role Modeling Approach. Dissertation, No. 13509. Zürich, Switzerland, ETH Zürich (2000)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Riehle, D. (2011). Lessons Learned from Using Design Patterns in Industry Projects. In: Noble, J., Johnson, R., Avgeriou, P., Harrison, N.B., Zdun, U. (eds) Transactions on Pattern Languages of Programming II. Lecture Notes in Computer Science, vol 6510. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-19432-0_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-19432-0_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-19431-3
Online ISBN: 978-3-642-19432-0
eBook Packages: Computer ScienceComputer Science (R0)