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

文章目录

经典架构风格对比

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

优点

  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架构。

相关推荐
梦帮科技9 小时前
Kali Linux Scapy 畸形报文构造学——深度解剖非法 TCP Flags 与反常序列号
linux·爬虫·神经网络·算法·数学建模·系统架构·模拟退火算法
quantdash_cc13 小时前
量化数据清洗应该放在数据层还是策略层?从系统架构看清职责边界
开发语言·python·数据分析·系统架构·量化交易·股票数据·quantdash
诺伦14 小时前
从一键分发到 AI 自动运营:内容矩阵工具三代技术架构拆解 | RiseClaw玄策
python·agent·架构设计·增长运营·ai自动运营·内容营销自动化
ESDWAN18 小时前
跨境投资与全球资产托管数字化解决方案:系统架构、数据治理与合规风控实践
大数据·金融·系统架构·云计算
带金箍的至尊宝20 小时前
系统架构设计师笔记 08:UML 用例图、类图、时序图
笔记·系统架构·uml
96245620 小时前
餐饮 SaaS 优惠券系统架构演进(八)PriceQuote 版本化与回放测试:Golden Case、Shadow Diff、策略灰度与历史价格审计
系统架构
wuyk55521 小时前
样章-第03讲-FreeRTOS在16KB-RAM上的裁剪与陷阱
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·系统架构
爱写代码的倒霉蛋1 天前
我用book-to-skill把尹圣雨的《TCP/IP网络编程》做成了知识库(适合快速入门网络编程)
网络·网络编程·知识库
wewowilling2 天前
RAG知识库--coze
大模型·agent·知识库·rag·coze
熊出没2 天前
AI Agent 生产级架构设计:工具调用与MCP、RAG、安全护栏与评估体系
人工智能·安全·架构设计·rag·ai agent