软件架构模式

➤ 软件设计的”方法论”

  • design patterns: 代码层面
  • architecture patterns: 架构层面

architecture patterns:

  • 分层架构
  • 管道..
  • CS..
  • MVC..
  • 事件驱动..
  • 微服务..

➤ 分层架构: 表现层→业务层→数据层

  • 特性: 用户请求不能跨层, 层和层之间暴露接口
  • 优缺点:

➤ 管道-过滤器架构: source → filter1 → filterN → sink

  • 例子: shell的|

➤ CS架构: Client → Server

  • 特性: Server端有可共享的/丰富的资源

➤ MVC架构: view → controller → model

  • 特性:
    • m的变化由controller通知view变更
    • view的操作由controller通知model
    • 适用于用户界面的开发

➤ 事件驱动架构: 事件产生 → 事件队列 → dispatch → handler

➤ 微服务架构:

@ref: