概述10种常见软件架构模式

备注

    为了更好的组织语言和理解,符合我们的阅读习惯,原文的部分段落被合并或者分割。为体现完整性,不删减文字,保持原文文字内容。翻译纯属个人喜爱、分享和收藏。

正文

    是否想知道大型企业级系统是怎么设计的件主体开发之前,我们必须选择一个合适的架构来提供所需的功能和质量特征。所以在应用于设计之前,我们应该了解不同的架构。

2. 客户端-服务器模式

    该模式由两部分构成:单个服务器端和多个客户端。服务器组件对多个客户端组件提供服务。客户端向服务器端请求服务,服务端提供对应服务给这些客户端。此外,服务器端继续监听客户端请求。

    应用场景
  • 在线应用,比如电子邮件、文档分享和银行业务

4. 管道-过滤器模式

    该模式用于构建生产和处理数据流的系统。每个处理步骤封装在一个过滤器组件中。待处理的数据被传送到管道之中,这些管道可用于缓冲或者同步。

    应用场景
  • 编译器,接连的过滤器执行词义分析,语法分析,语义分析和代码生成
  • 生物资料学科的工作流

6. 点对点模式

    该模式中,各独立组件都叫对等点。对等点既可以作为客户端从其他对等点获取服务,也可作为服务端向其他对等点提供服务。对等点可作为客户端、或者服务端、或者两者,并且在不时间动态切换角色。

    应用场景
  • 文件分享 络,比如 Gnutella 和 G2
  • 多媒体协议,比如 P2PTV 和 PDTP
  • 私媒体程序,比如 Spotify

8. 模型-视图-控制器模式

    该模式也叫 MVC 模式,划分交互程序为3个部分:模型——包含核心功能和数据,视图——显示信息给用户(多个视图可被定义),控制器——处理用户输入。它通过分割用户信息的内部陈述和呈现、接受方式来实现,解耦组件并允许高效的代码复用。

    应用场景

  • 主流编程语言的万维 程序架构
  • 页框架,比如 Django 和 Rails

10. 解释器模式

    该模式用于设计解释特定语言编写的程序的组件。该组件主要指定怎么去评估程序代码行,也就是所谓的用某种语言写的语句或者表达式,基本点在于给语言符 分类。

    应用场景
  • 数据库查询语言,比如 SQL
  • 用于描述通信协议的语言

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年2月12日
下一篇 2018年2月12日

相关推荐