作者:禅与计算机程序设计艺术
1.简介
在软件开发中,架构模式是一个至关重要的因素,它提供了一些指导、规范、模板,能够帮助软件工程师更好地设计、组织和管理软件系统的结构、功能和关系。它的作用是帮助项目团队构建一致性的软件系统,提升可维护性和扩展性,同时降低成本,改善产品质量。软件架构设计模式集合了众多经验丰富的软件设计人员和架构师通过几十年来不断实践总结出的最佳实践。本文是作者在JavaZone 2019上为期两天的演讲《Software Architecture Patterns - A pragmatic guide》的文字稿,包含软件架构设计模式的一般介绍和二十种典型模式的阐述。本文档主要目标读者群体为具有相关软件开发经验,对软件架构设计有浓厚兴趣并希望进一步了解这些设计模式的软件架构师、开发人员或项目管理者。
2.术语说明
软件架构:软件系统的静态设计蓝图,包括业务需求、功能特性、技术实现方案以及部署运行环境。它定义了系统的结构、功能、流程和约束条件。
软件组件:一个可以独立运行的最小化软件单元,其内部封装数据和处理逻辑,提供一个接口向外界提供服务。软件组件之间通过接口进行通信。
依赖关系:在设计、编码、测试或运行时,不同软件模块之间存在的联系。如组件间的调用、数据传递、耦合度、关联