模式是一条由三部分组成的规则,它表示了一个特定环境、一个问题和一个解决方案之间的关系。
模式由三部分组成:
- 语境:问题出现的场景。
- 问题:在那个语境中出现的再现问题。
- 解决方案:已被证实的问题的解决方案。
模式分为三种类型:
- 体系结构模式
- 设计模式
- 惯用法
体系结构模式表示软件系统的基本结构化组织图式。它提供一套预定义的子系统,规定它们的职责,并包含用于组织它们之间关系的规则和指南。体系结构模式的选择是开发一个软件系统时的基本设计决策。如MVC模式就是体系结构模式最著名的例子之一,它为交互软件系提供了一种结构。
设计模式提供一个用于细化软件系统的子系统或组件,或它们之间关系的图式。它描述了通信组件的公共再现结构,通信组件可以解决特定语境中的一个一般设计问题。设计模式是中等规模的模式,它们在规模上比体系结构模式小,但又独立于特定编程语言或编程范例。如观察者模式。
惯用法是具体针对一种编程语言的底层模式。惯用法描述如何使用给定语言的特征来实现组件的特殊方面或它们之间的关系。惯用法代表最底层模式,它们关注设计和实现方面。