有没有想过企业规模的系统是如何设计的?在主要的软件开发开始之前,我们必须选择一个合适的架构,为我们提供所需的功能和质量属性。因此,在将它们应用于我们的设计之前,我们应该了解不同的体系结构。
根据维基百科,
架构模式是一种通用的、可重用的解决方案,用于解决给定上下文中软件架构中常见的问题。架构模式类似于软件设计模式,但范围更广。
在本文中,我将简要解释以下10种常见的体系结构模式及其用法、优缺点。
此模式可用于构造可分解为子任务组的程序,每个子任务都处于特定的抽象级别。每一层都向上一层提供服务。
一般信息系统最常见的4层结构如下。
用法
此模式由两方组成:一个服务器和多个客户端。
使用
这种模式由两个部分组成:主人和奴隶。主组件在相同的从组件之间分配工作,并根据从组件返回的结果计算最终结果。
用法
此模式可用于构造生成和处理数据流的系统。每个处理步骤都包含在过滤器组件中。要处理的数据通过管道传递。这些管道可用于缓冲或同步目的。
用法
此模式用于构造具有分离组件的分布式系统。这些组件可以通过远程服务调用相互交互。
用法
在这种模式中,单个组件称为对等组件。
用法
此模式主要处理事件,有4个主要组件:事件源、事件侦听器、通道和事件总线。
用法
8. 模型视图控制器模式
这种模式,也称为MVC模式,将交互式应用程序分为三个部分:,
这样做是为了将信息的内部表示与信息呈现给用户和接受用户的方式分开。它分离组件并允许有效的代码重用。
用法
这种模式对于不知道确定性解决策略的问题很有用。黑板模式由三个主要部分组成。
所有部件都能接触到黑板。组件可能产生新的数据对象,这些对象被添加到黑板上。组件在黑板上查找特定类型的数据,并可以通过与现有知识源的模式匹配来找到这些数据。
用法
此模式用于设计解释用专用语言编写的程序的组件。它主要指定如何计算程序行,即用特定语言编写的句子或表达式。其基本思想是为语言的每个符号建立一个类。
用法
下表总结了每种架构模式的优缺点。
原文:
https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013
本文:
http://jiagoushi.pro/node/964