程序员必读之软件架构 读书笔记
2020-02-25 16:19 方斌 阅读(321) 评论(0) 编辑 收藏 举报程序员必读之软件架构
2架构的种类
- 软件架构定义
理解需要解决的问题,并设定一个愿景或目标,并充分与所有参数产品最终构建的人充分沟通。
3 软件架构是什么
-
应用程序架构
- 软件(编程语言、类、组件、模块、函数、设计模式等)
- 代码组织
-
系统架构
- 软件互操作性
- 环境其他系统的集成
- 软件
- 硬件
-
软件架构
- 应用程序和系统架构的结合
- 代码
- 面向对象原则、类、接口、控制反转、重构、自动化单元测试、代码整洁等
- 横切面,比如登录和异常处理
- 安全性,包括认证、授权和敏感数据保密
- 性能、可伸缩性、可用性和其他质量属性
- 审计及其他监管需求
- 客观环境约束
- 互操作性、与其他软件系统的集成
- 运营、支持和维护的需求
- 结构和整个代码库解决问题、实现特性的方法的一致性
- 评估正在构建的基础有助于交付按计划进行
架构反映了使一个系统成型的重要设计决策,而重要性则通过改变的成本来衡量。
第8章 软件架构的角色
软件架构角色
- 架构驱动力
- 理解目标
- 抓住、提取、挑战需求和限制
- 设计软件
- 建立技术战略、愿景和路线图
- 技术风险
- 发现、减轻和承担技术风险,保证架构的运转
- 架构演化
- 贯穿整个软件交付过程,持续的技术指导和对架构的承担
- 编写代码
- 参与到软件交付的实践部分
- 质量保证
- 引入并坚持标准、指导、原则等
第13章 软技能
- 领导力
- 沟通
- 影响力
- 信心
- 合作
- 指导
- 辅导
- 动力
- 润滑剂
- 政治
- 责任感
- 授权
第15章 软件架构要引入控制吗
- 提供指导,追求一致性
- 控制可以保证代码库有一个清晰一致的结构,以包、命名空间、组件、层等形式合理的组织代码。
- 控制的程度
- 适度
- 独裁
- 授权
- 适度
第22章质量属性
- 性能
- 可伸缩性
- 可用性 99.9% 意味着每天停机维护时间只有一分多钟
- 安全性 从认证到授权到数据传输和存储中的机密性的所有事情。
- 灾难恢复
- 可访问性
- 监测 软件和平台特定的监测功能
- 管理
- 审计 软件系统中数据或行为变化的事件的审计日志
- 灵活性
- 可扩展性
- 可维护性
- 法律法规
- 国际化
- 本地化 以最终用户文化习俗的方式展示内容
第25章 原则
- 开发原则
- 编码标准和规范
- 自动化单元测试
- 静态分析工具
- 架构原则
- 分层策略
- 业务逻辑位置
- 高内聚、低耦合
- 无状态组件
- 存储过程
- HTTP会话的使用
- 始终一致和最终一致
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)