软件设计模式来源于Christopher Alexander的建筑学模式和对象运动。根据Alexander的观点,模式就是一个对于特定的系统的通用解决方案本身的重复。对象运动关注于将现实世界模化为软件内部的关系。基于这两个原因,软件设计模式对于真实世界的物体而言同样应当是可以重复的。这篇文章呈现了现实的世界中的非软件的模式实例,这些模式来源于《设计模式-可复用面向对象软件的基础》(Design Patterns - Elements of Reusable Object-Oriented Software)[13]一书。这篇文章也举例讨论了模式语言对非软件的表现力和设计模式的练习。