50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

架构风格和架构模式速览

  • 2009-02-15
  • 本文字数:1080 字

    阅读完需:约 4 分钟

应用架构指南 2.0(微软模式和实践)的第 6 章讨论了诸如消息总线、分层架构、SOA 之类的架构风格。除了这些风格,还有很多架构模式,比如插件、点对点、发布 - 订阅。有些作者对架构风格、模式和隐喻进行了区分。

什么是架构风格呢?根据应用架构指南所说,架构风格指:

一组原则。你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。架构风格能改进分块,还能为频繁出现的问题提供解决方案,以此促进设计重用。

指南的作者列出了一系列架构风格:

架构风格 描述 客户端 - 服务器 将系统分为两个应用,其中客户端向服务器发送服务请求。 基于组件的架构 把应用设计分解为可重用的功能、逻辑组件,这些组件的位置相互透明,只暴露明确定义的通信接口。 分层架构 把应用的关注点分割为堆栈组(层)。 消息总线 指接收、发送消息的软件系统,消息基于一组已知格式,以便系统无需知道实际接收者就能互相通信。 N 层 / 三层架构 用与分层风格差不多一样的方式将功能划分为独立的部分,每个部分是一个层,处于完全独立的计算机上。 面向对象 该架构风格是将应用或系统任务分割成单独、可重用、可自给的对象,每个对象包含数据,以及与对象相关的行为。 分离表现层 将处理用户界面的逻辑从用户界面(UI)视图和用户操作的数据中分离出来。 面向服务架构(SOA) 是指那些利用契约和消息将功能暴露为服务、消费功能服务的应用。

这些架构风格分别适用于特定领域:

分类 架构风格 通信 SOA,消息总线,管道和过滤器 部署 客户端 / 服务器,三层架构,N 层架构 领域 领域模型,网关 交互 分离表现层 结构 基于组件的架构,面向对象,分层架构

J.D. Meier 从《企业架构实用指南》(由 James McGovern、Scott W. Ambler、Michael E. Stevens、James Linn、Vikas Sharan、Elias K. Jo 编著)一书中总结了几个要点,指出了架构风格和架构模式之间的细微差别

  • 架构风格是系统主要的、组织性的设计。
  • 架构模式从子系统或模块、及其之间的关系层次上描述了粗粒度的解决方案。
  • 系统隐喻则更为概念化,比起软件工程概念,它更多地涉及现实世界的概念。

David Calvert 在 1996 年给出了一份架构风格 / 模式的部分清单

  • 数据流系统——批处理,管道 - 过滤器。
  • 调用 - 返回系统——主程序和子程序,面向对象系统,分层。
  • 独立组件——通信过程,事件系统。
  • 虚拟机——解释器,基于规则的系统。
  • 以数据为中心的系统(仓库)——数据库,超文本系统,黑板。

其它比较现代的风格 / 模式还有:插件点对点无共享架构表述性状态转移(REST)、前端- 后端。在维基百科上有更为完整的列表

查看英文原文: A Quick Look at Architectural Styles and Patterns

2009-02-15 18:529120
用户头像

发布了 151 篇内容, 共 68.8 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

监督学习与无监督学习:机器学习技术对比与应用实例

qife122

机器学习 监督学习

Apache RocketMQ 在阿里云大规模商业化实践之路

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

逆向工程系列第三篇:二进制分析与破解实战

qife122

逆向工程 IDA Pro

2025年哈尔滨等保测评失败原因剖析:制度、技术与执行的三重挑战

等保测评

“同声传译”还是“全文翻译”?为何HotSpot虚拟机仍要保留解释器?

poemyang

编译原理 Java虚拟机 #java 解释器

RocketMQ 5.0 API 与 SDK 的演进

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

解析 RocketMQ 业务消息--顺序消息

Apache RocketMQ

RocketMQ 云原生 消息队列 消息集成 mq消息集成

哪些企业需要私有化部署?有没有推荐的私有化im

BeeWorks

即时通讯 IM 私有化部署

私有化部署即时通讯,企业专属通讯系统BeeWorks

BeeWorks

即时通讯 IM 私有化部署

南加州大学与某机构共建可信机器学习研究中心

qife122

机器学习 安全算法

哈尔滨二级等保测评实施指南:六大步骤助你高效通过

等保测评

Building An Elastic Query Engine on Disaggregated Storage

数新网络官方账号

区块链U卡APP外包开发的费用

北京木奇移动技术有限公司

区块链开发 软件外包公司 web3开发

RocketMQ 重试机制详解及最佳实践

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

泄漏检测与修复综合管理系统(源码+文档+讲解+演示)

深圳亥时科技

CGDC|网易伏羲揭秘AI Agent等技术驱动游戏玩法革新,重塑交互与内容生态

网易伏羲

人工智能 ChinaJoy 网易伏羲 游戏AI

阿里云基于全新 RocketMQ 5.0 内核的落地实践

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

高防IP:数字化时代企业网络安全的核心盾牌

德迅云安全杨德俊

Wire,一个神奇的Go依赖注入神器!

左诗右码

值得买商品详情API响应数据解析

tbapi

值得买 值得买商品详情API 值得买数据接口

EventBridge 生态实践:融合 SLS 构建一体化日志服务

Apache RocketMQ

云原生 事件总线 EventBridge sls

解析 RocketMQ 多样消费功能-消息过滤

Apache RocketMQ

阿里云 云原生 消息队列 消息过滤

谷歌耗时一月关停服务器间谍软件Catwatchful

qife122

网络安全 数据泄露

视觉语言模型知识蒸馏方法优化

qife122

知识蒸馏 注意力机制

2025大模型应用平台选型指南:从个人助手到企业级智能体

测试人

RocketMQ 客户端负载均衡机制详解及最佳实践

Apache RocketMQ

阿里云 RocketMQ 云原生 消息队列

AppAuth-iOS - OAuth 和 OpenID Connect 客户端 SDK

qife122

ios Oauth Authentication

哈尔滨三级等保测评技术要求:从主机安全到应用安全的全面防护

等保测评

大数据-59 Kafka 拦截器全解析:原理、拦截链机制与自定义实现实战

武子康

Java 大数据 kafka 分布式 消息队列

架构风格和架构模式速览_方法论_Abel Avram_InfoQ精选文章