你是否曾经思考过如何设计大型的企业级系统?在决定启动软件开发之前,首要的是选择恰当的架构来指引系统的功能及质量属性设计。因此在将软件架构应用于设计之前,必需要了解常用的架构模式。 什么是架构模式? Wikipedia 的解释: 在软件架构中,架构模式是对特定环境下常见问题的通用且可重用的解决方案。架构模式与软件设计模式很相似,但架构模式的层次更高,且外延更大。 这篇文章将简述常见的 10 种架构模式的概念、用法以及其优缺点。 分层模式(Layered pattern) 客户端/服务器模式(Client-server pattern) 主/从模式(Master-slave pattern) 管道/过滤器模式(Pipe-filter pattern) 代理模式(Broker pattern) 对等模式(Peer-to-peer pattern) 事件总线模式(Event-bus pattern) 模型/视图/控制器(MVC)模式(Model-view-controller pattern) 黑板模式(Blackboard pattern) 解析器模式(Interpreter pattern) 1. 分层模式(Layered pattern) 分层模式用于对结构化设计的软件进行层次拆解,每个层次为独立的抽象,为其上层抽象提供服务。 系统通常被拆分为以下四个层次: 表示层(也称为 UI 层) 应用层(也称为服务层) 业务逻辑层(也称为领域层) 数据访问层(也称为持久化层) 使用场景 通用桌面应用程序 电子商务 Web 应用 2. 客户端/服务器模式(Client-server pattern) 客户端/服务器模式由两个部分构成:一个服务器与多个客户端。服务器组件同时为多个客户端组件提供服务。客户端向服务器发启服务请求,服务器将相应服务信息回应给客户端。此外,服务器持续监听来自客户端的请求。 使用场景 电子邮件、文件共享及银行业务等在线应用 3. 主/从模式(Master-slave pattern) 主/从模式...