系统架构设计师—案例分析—架构设计

文章目录

经典架构风格对比

面向对象架构风格/显示调用风格

优点

  1. 一个对象对外隐藏了自己的详细信息。
  2. 对象将数据和操作封装在一起。
  3. 继承和封装方法为对象复用提供了技术支持。

缺点

  1. 如果一个对象要调用另一个对象,则必须知道它的标识和名称。

举例

一般业务系统

事件驱动的系统/隐式调用风格

优点

  1. 事件发布者不需要知道哪些构件会响应事件。

缺点

  1. 构件放弃了对计算的控制权,完全由系统来决定。
  2. 存在数据传输的问题。

举例

消息队列

基于规则的系统架构风格

优点

  1. 规则数据可以动态更改,灵活性好。
  2. 定义新的规则,即可扩展。

缺点

  1. 实时解释规则,性能较差。

举例

规则引擎

管道过滤器风格

优点

  1. 简单性。
  2. 支持复用。
  3. 便于系统分析。

缺点

  1. 不适合用来设计交互式应用系统。
  2. 由于没有通用的数据传输标准,因此每个过滤器都需要解析输入数据和合成数据。
  3. 难以进行错误处理。

举例

流程引擎

仓库风格

优点

  1. 便于多客户共享大量数据,而不必关心数据时何时产生的,由谁提供的,通过何种途径来提供。

缺点

  1. 对共享数据结构,不同知识源要达成一致。
  2. 需要同步机制和加锁机制来保证数据的完整性和一致性,增大了设计的复杂度。

举例

数据仓库

解释器风格

优点

  1. 可移植性好。

缺点

  1. 由于使用了特定语言和自定义操作规则,因此增加了系统运行的开销。
  2. 解释器系统难以设计和测试。

举例

编译器

分层架构风格

优点

  1. 设计者可以将系统分解为一个增量的步骤序列,从而完成复杂的业务逻辑。
  2. 每一层最多和相邻的上下两层进行交互,只给相邻层提供相同的接口。

缺点

  1. 并非所有系统都能够按照层次来进行划分。
  2. 很难找到一种合适和正确的层次划分方法。
  3. 传输数据需要经过多个层次。
  4. 多层结构难以调试。

举例

OSI协议,MVC架构,DDD架构,Cola架构。

相关推荐
Ashlee_code1 天前
BSS供应商:电信与金融领域的幕后支撑者
大数据·网络·金融·系统架构·跨境·金融机构·场外期权
武子康2 天前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j
Ashlee_code3 天前
经纪柜台系统解析:从今日国际金融动荡看证券交易核心引擎的变革
python·架构·系统架构·区块链·vim·柜台·香港券商
qqxhb3 天前
系统架构设计师备考第66天——系统安全架构
系统架构·安全架构·技术/组织/管理·wpdrrc·osi安全·多点防御·支撑设施
qqxhb4 天前
系统架构设计师备考第63天——通信系统架构
5g·系统架构·局域网·通信系统·sdn·广域网·存储网络san/nas
qqxhb4 天前
系统架构设计师备考第67天——数据库系统的安全&系统架构的脆弱性
数据库·安全·系统架构·访问控制·完整性·脆弱性·身份鉴别
小鱼儿LY4 天前
系统架构设计师论文-论软件体系结构的演化
系统架构·软件体系结构·架构设计师·体系结构演化
qqxhb4 天前
系统架构设计师备考第64天——网络构建关键技术
网络·系统架构·mtbf·mttr·冗余硬件·软件热备·快速检测
爱好读书4 天前
一键生成系统架构图
系统架构·毕业设计·课程设计
zhmhbest4 天前
Qt 全球峰会 2025:中国站速递 —— 技术中立,拥抱更大生态
开发语言·qt·系统架构