









在非软件例子中软件设计模式的体现表明了模式不是局限于特定领域的。软件设计师可以从这些日常事物的模式举例中受益,哪怕这些例子并不是以程序设计语言表达的。这篇文章尽可能举一些大部分人所熟悉的例子(尽管某些倾向于北美文化)。通过对共同的经历的描述,这些例子有助于对特定的设计模式的理解,并且能够帮助对设计模式的学习。
※ 感谢
本文作者非常感谢 Dalmatian Gro p 的 Brandon Goldfedder,AG Comm nication Systems 的 Linda Rising,H mans
and Technology 的 Alistair Cockb rn 和伊利诺思大学的 Ralph Johnson 对本文提出的有益
建议。
※ 参考书目
1. Alexander, C. The Timeless Way of Building. O xford U niversity Press, 1979.
2. Alexander, C., et al. A Pattern Language. O xford U niversity Press, 1977.
3. Anthony, D. "Patterns for Classroom Education", in Pattern Languages of Program Design II,
Addison-Wesley,1996.
4. Berczuk, S. "Finding solutions through pattern languages", Computer, Vol. 27, No. 12.
December, 1994.
5. Booch, G. "Object Oriented Design" in Tutorial on Software Design Techniques, pp. 420-
437, IEEE Computer Society, 1984.
6. Carroll, J. "The Nurnberg funnel: Designing minimalist instruction for practical
computer skill", MIT Press,1990.
7. Chierchia, G. and McConnel-Ginnet, S. Meaning and Grammar: An Introduction to
Semantics. MIT Press, 1990.
8. Chilton, Chilton's Auto Repair Manual, Chilton Book Company, 1985.
9. Coplien, J. "Broadening beyond objects to patterns and to other paradigms", Position statement for the ACM Workshop on Strategic Directions in Computing Research, MIT, June 14-15, 1996.