以下是10种常见的软件架构模式,综合多个权威来源整理而成:
一、分层架构(Layered Architecture)
将系统按功能划分为表示层、应用层、业务逻辑层和数据访问层,实现各层职责分离。
二、客户端-服务器架构(Client-Server Architecture)
通过服务器提供资源服务,客户端发起请求并接收响应,适用于在线应用(如邮件、文件共享)。
三、主从架构(Master-Slave Architecture)
主节点负责任务分配和结果汇总,从节点执行具体操作(如数据库复制、外围设备控制)。
四、管道过滤器模式(Pipe-Filter Pattern)
数据通过管道传递,每个过滤器组件执行特定操作(如词法分析、代码生成),适用于流式数据处理系统。
五、代理模式(Proxy Pattern)
通过代理对象控制对真实资源的访问,可实现缓存、权限控制等功能。
六、事件总线模式(Event-Bus Pattern)
组件间通过事件进行通信,降低耦合度,适用于实时系统(如消息队列、状态监控)。
七、模型-视图-控制器(MVC)模式
将应用分为模型(数据)、视图(界面)和控制器(逻辑),提升开发效率。
八、黑板模式(Blackboard Pattern)
通过共享内存(黑板)进行通信,适用于多智能体协作系统(如游戏AI、机器人控制)。
九、解析器模式(Interpreter Pattern)
对输入数据(如语言、协议)进行解析和执行,常用于编译器、查询引擎等场景。
十、微服务架构(Microservices Architecture)
拆分为多个独立服务,通过轻量级协议通信,提升系统的可扩展性和维护性。
补充说明:
-
事件驱动架构 (Event-Driven Architecture)虽未直接列出,但作为重要模式,通过事件触发组件间协作,适用于高并发、实时系统。
-
领域驱动设计(DDD) 更侧重业务领域划分,而非架构模式,但常与微服务架构结合使用。
以上模式可根据具体需求组合应用,例如在电商系统中结合分层架构与微服务架构,或使用事件总线模式优化高并发场景。