什么是架构风格?

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

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

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

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

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

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

你可能感兴趣的:(系统架构)