返回知识库
架构设计进阶

软件架构风格

分层、管道过滤器、客户端服务器、面向服务、事件驱动等常见架构风格的特征与适用场景。

为什么要学架构风格

架构风格是对一类系统组织方式的抽象。掌握风格的意义不在于记住名字,而在于看到需求时能快速判断"这类问题通常用什么结构解决",并能说出这样做的代价。

常见风格与适用场景

下表按"结构特征—优势—代价"的方式整理常见风格,便于在案例题中直接引用。

  • 分层架构:职责按层划分,易于理解与替换实现;代价是跨层调用可能带来性能损耗
  • 管道与过滤器:数据流式处理,过滤器可独立复用与并行;代价是不适合强交互场景
  • 客户端/服务器:职责清晰、部署直观;代价是服务端容易成为瓶颈与单点
  • 面向服务(SOA/微服务):服务独立部署、技术栈灵活;代价是分布式复杂度与运维成本上升
  • 事件驱动:解耦生产与消费、天然支持异步;代价是流程难以追踪、调试成本高
  • 仓库/黑板风格:以共享数据为中心,适合知识密集型问题;代价是中心存储的并发与扩展压力

在案例题中如何作答

案例题很少问"这是什么风格",更多问"为什么选它"。可套用的表达结构是:先指出需求中的关键约束(例如需要独立扩容、需要异步削峰),再说明所选风格如何满足该约束,最后主动指出引入的代价与缓解手段。