架构风格( architectural style):架构风格是一个命名的架构设计决策的集合,(1)适用于给定开发环境的上下文(2)约束特定于该上下文中特定系统的架构设计决策,(3)并在结果系统中表现出好的特性与品质。

架构模式(architectural pattern ):架构模式是一个已命名的架构设计决策,这些设计决策适用于反复出现的设计问题,参数化来考虑不同问题的上下文环境。

从定义上来看,这连个概念很相近,实际上也很难找到他们之间的边界,但是我们可以从三个方面最这两个概念进行比较。

  1. 范围:架构风格应用于开发上下文(如“高度分布的系统”或者“GUI不密集系统”),而架构模式应用于特定的设计问题(如系统的状态必须以多种方式表现;系统的业务逻辑必须和数据管理分开)。模式关注的问题更加具体,所以架构风格关注的是策略性的,而模式是实现策略的工具。
  2. 抽象:风格有助于一个人做出的关于系统架构的设计决策,需要人的解释以便将抓到的设计指导方针与当前特定系统相关的设计问题联系起来。就本身而言风格太抽象,不能产生具体的系统,相反,模式是参数化的架构片段,可以认为是设计的具体部分。
  3. 关系:模式不能“as is”使用,因为他们是参数化的,需要考虑给定问题的不同上下文,这意味着单个模式可以应用与多个设计风格设计的指导系统,同样,单一风格指导设计的系统也可以涉及多个模式的应用。