软件体系结构 - 基础,理论和实践, ,我可以找到两者的定义。问题是,我没有得到每个人的含义,简单的英语是什么:

建筑模式

建筑模式是命名的建筑设计决策集合,适用于重复出现的设计问题,以说明出现该问题的不同软件开发环境。

建筑风格

建筑风格是(1)适用于给定开发环境中的建筑设计决策的命名集合,(2)约束在该背景下特定系统的建筑设计决策,以及(3)在每种情况下都具有有益的质量结果系统。

每个人是什么意思,它们之间有什么区别?

有帮助吗?

解决方案

建筑模式是解决反复出现的建筑问题的一种方式。例如,MVC解决了将UI与模型分开的问题。传感器控制器 - 传动器是一种模式,它将帮助您面对几种输入感官的动态问题。

另一方面,建筑风格只是重复建筑设计的名称。与模式相反,“解决”问题并不存在。

管道和过滤器无法解决任何特定的问题,这只是组织代码的一种方式。客户端 /服务器,主要程序和子例程和抽象数据类型 / OO,相同。

此外,单个体系结构可以包含几种架构样式,每种体系结构风格都可以利用几种架构模式。

其他提示

坦白说,我一直认为这两种术语都是代名词!外行(相对而言)的文学肯定会这样对待它们。参考 MSDN 或者 维基百科

但是,您的问题使我有些兴趣,所以我做了更多的挖掘和坦率地...除了提及 企业体系结构实用指南(COAD系列), ,我从中引用: -

An architectural style (Base et al. 1997) and an architectural pattern 
(Buschmann et al. 1996) are essentially synonymous. 

基于更多 谷歌搜索, ,我认为这可能是区分两者的一种可能方法

  • 建筑风格是如何创建系统 /将工作的一种概念方法
  • 架构模式描述了一种解决方案,用于在子系统或模块及其关系层面上实现样式。

建筑模式如何与设计模式不同,即适配器,观察者基本上是按照它们应用的粒度水平(我知道这不是问题的一部分)

用非常简单的话:

  • 建筑风格

    是一个概念,即理论(以及如何实施它取决于您)。它也可以适用于软件界的外部。

    例如:休息(代表性国家转移) 是一个 建筑风格 建立在某些原则的基础上,使用当前的“网络”基本面。

  • 建筑模式

    描述软件系统(或模块)级别的解决方案。换句话说,它如何相互交互,例如使用模型,并与控制器进行模型。

  • 设计模式

    是核心级别的解决方案,它讨论了类,功能以及逻辑流的实际流程。

建筑风格 是抽象的IE概念。

+---------------+--------------------------------------------------------+
|   Category    |                  Architecture styles                   |
+---------------+--------------------------------------------------------+
| Communication | SOA, ROA, Message Bus                                  |
| Deployment    | Client/Server                                          |
| Domain        | Domain Driven Design,Monolithic application            |
| Structure     | Component-Based, Object-Oriented, Layered, Plug-ins    |
+---------------+--------------------------------------------------------+

建筑模式 是混凝土IE实施建筑风格。

  • 例如:3层,N层,MVC,休息

设计模式 是在体系结构层面软件设计中常见问题的一般性重复使用解决方案。

  • 例如:工厂,单例,原型。

比喻: 寺庙的建筑风格不同宗教:

enter image description here

在我看来,模式和建筑风格是封装设计专业知识的补充机制。建筑风格为组成构建块的构建块设计元素,规则和约束提供了集合,以及用于分析和操纵风格创建的设计的工具。样式通常提供指导和分析,用于在特定领域建立广泛的体系结构,而模式则侧重于在给定样式(或多种样式)中解决较小的,更具体的问题。

对于建筑模式,请考虑特定的方式来设计您的代码 gof 喜欢;适配器,策略,建筑商,调解员等

对于建筑风格,请思考整体系统;即,使用MVC进行演示,DDD对业务层建模,WCF(如果您喜欢.NET)进行Interop,SOA进行集成,等等。

建筑设计模式是更具体的领域,而在广泛的应用中,建筑风格更为通用和可用。由于这种建筑模式需要更多的领域知识。

建筑模式 - 定义一组元素类型及其交互。架构模式的示例包括管道和过滤器,模型 - 视图控制器和反射。

建筑风格 - 该术语是由Garlan和Shaw创造的,它是系统组织的惯用模式。例如,客户端系统是一种建筑风格。

PS:许多原始的建筑风格已被重新制定为模式。

架构模式: 上下文 +问题 - >解决方案

建筑风格: 架构模式的解决方案部分

因此,体系结构样式类似于架构模式的解决方案部分。它经常用于处理架构文档的书籍,其中重点是解决方案,而不是上下文和问题的产生方式。

体系结构样式描述了许多组件的系统。只有一个应用程序架构,您必须应用一种架构风格,例如微服务,SOA和事件驱动的架构。

体系结构模式描述了单个组件中的某些内容,并且不要试图在各处应用CQRS或DDD等相同的架构模式。

建筑风格以非常广泛的笔触告诉我们如何组织我们的代码。它是粒度的最高级别,它指定了应用程序的层,高级模块以及这些模块和图层如何相互交互,以及它们之间的关系。建筑风格的示例:基于组件的SOA

架构模式对代码库有广泛的影响,最常见地影响整个应用程序(即如何在图层内部构造代码)或垂直(即如何从外层处理中的请求到内层)和背部)。架构模式的示例:模型视图控制器,模型视图 - 视图模型

建筑风格

建筑风格是代表您应用程序子系统的更广泛组织的名称,并描述了IT总体大纲的想法。例如, SOA, Client/Server, Message Bus 等等

建筑模式

架构模式是通用架构问题可重复使用的解决方案的名称,这些解决方案旨在了解如何实现内部部分来解决它们。例如, 2-Tier, 3-Tier, N-Tier, MVC, REST 等等

一种样式可以使用多种模式来解决多个问题。例如, 客户/服务器样式 可以使用一个 n层模式 或(和) MVC模式 分开它 商业逻辑, 演示逻辑数据逻辑 用于引入解决方案的模块化 modifiabilitymaintainability 问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top