课程进度 48% · 第4/7章第4/7章 · 标签 1/3
— 1 —
什么是软件架构?
软件架构是软件系统的顶层设计,包括系统的组织结构、组件划分、交互方式以及约束规则。 良好的架构是系统可维护性、可扩展性和可靠性的基础。
架构的核心关注点
- 性能:响应时间、吞吐量、资源利用率
- 可扩展性:水平扩展与垂直扩展能力
- 可用性:系统正常运行时间与容错能力
- 安全性:数据保护、访问控制、防攻击
- 可维护性:代码可读性、模块化程度、测试覆盖
- 成本:开发成本、运维成本、基础设施成本
常见架构风格
- 分层架构:表现层、业务层、持久层、数据层
- 微服务架构:独立部署、去中心化、技术异构
- 事件驱动架构:异步通信、松耦合、可扩展
- 六边形架构:领域为核心,适配器驱动边界
— 2 —
架构设计过程
1. 架构需求分析:识别功能性需求和质量属性(性能、安全、可用性等)
2. 架构决策:选择架构风格、技术栈、部署策略
3. 架构设计:定义模块划分、接口设计、数据流设计
4. 架构评估:使用ATAM等方法评估架构对质量属性的满足程度
5. 架构文档:使用4+1视图模型记录架构设计
分层微服务事件驱动六边形ATAM