传奇软件巨匠Bob大叔Robert C. Martin将在本书中展示如何为应用程序架构和设计带来更高的专业性和规范性。
通过阅读本书,你将:
了解软件架构师需要具备的能力,以及拥有这些能力的核心准则和实践。
掌握函数处理、组件分离和数据管理所需的基本软件设计原则。
了解编程范式如何通过开发者行为来制定统一规范。
理解在设计过程中什么是至关重要的“细节”。
定义适当的边界和层次,并提供组件和服务。
了解设计和架构出错的原因,以及如何预防(或修复)这些错误。
网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | 整洁架构之道 |
分类 | 教育考试-考试-计算机类 |
作者 | [美]罗伯特·C.马丁(Robert C. Martin) |
出版社 | 机械工业出版社 |
下载 | ![]() |
简介 | 编辑推荐 传奇软件巨匠Bob大叔Robert C. Martin将在本书中展示如何为应用程序架构和设计带来更高的专业性和规范性。 通过阅读本书,你将: 了解软件架构师需要具备的能力,以及拥有这些能力的核心准则和实践。 掌握函数处理、组件分离和数据管理所需的基本软件设计原则。 了解编程范式如何通过开发者行为来制定统一规范。 理解在设计过程中什么是至关重要的“细节”。 定义适当的边界和层次,并提供组件和服务。 了解设计和架构出错的原因,以及如何预防(或修复)这些错误。 内容推荐 这是一本关于如何设计更整洁、更高效的软件架构的全面、实用性指南,阐述了软件架构师的角色和目标,软件架构设计的核心原则,如何为Web、数据库、客户端、控制台和嵌入式应用程序设计很好的高级结构。 全书分为六部分,涵盖了设计和架构、编程范式(结构化编程、面向对象编程、函数式编程)、设计原则(单一职责原则、开闭原则、里氏替换原则、接口隔离原则)、组件原则(重定位技术、组件内聚、组件耦合)、架构(独立性、划分边界、边界剖析、分层和边界、整洁架构、整洁嵌入式架构),以及实现细节和案例研究。 本书是软件架构师、系统分析师、系统设计师、软件经理以及执行他人设计的程序员的必读之作。 目录 推荐序<br />前言<br />作者简介<br />第一部分 概述<br />第1章 架构与设计 3<br />我们的目标是什么 4<br />案例学习 5<br />本章小结 10<br />第2章 两种价值维度 11<br />行为价值 12<br />架构价值 12<br />哪个价值维度更重要 13<br />艾森豪威尔矩阵 14<br />为架构而战 15<br />第二部分 从基础构件开始:编程范式<br />第3章 范式概述 19<br />结构化编程 20<br />面向对象编程 20<br />函数式编程 20<br />思想小插曲 21<br />本章小结 21<br />第4章 结构化编程 22<br />可推导性 23<br />有害的goto 25<br />功能性降解拆分 26<br />形式化证明没有发生 26<br />依靠科学来拯救 26<br />测试 27<br />本章小结 28<br />第5章 面向对象编程 29<br />什么是封装 30<br />什么是继承 33<br />什么是多态 35<br />本章小结 40<br />第6章 函数式编程 41<br />整数的平方 42<br />不可变性与软件架构 43<br />可变性的隔离 44<br />事件溯源 45<br />本章小结 46<br />第三部分 设计原则<br />第7章 SRP:单一职责原则 49<br />反例1:意外的复用 50<br />反例2:代码合并 52<br />解决方案 52<br />本章小结 54<br />第8章 OCP:开闭原则 55<br />思想实验 56<br />依赖方向的控制 59<br />信息隐藏 59<br />本章小结 59<br />第9章 LSP:里氏替换原则 60<br />继承的使用指南 61<br />正方形/矩形问题 61<br />LSP和架构 62<br />违反LSP的示例 63<br />本章小结 64<br />第10章 ISP:接口隔离原则 65<br />ISP和编程语言 66<br />ISP和架构 67<br />本章小结 67<br />第11章 DIP:依赖反转原则 68<br />稳定的抽象 69<br />工厂模式 70<br />具体实现组件 71<br />本章小结 71<br />第四部分 组件原则<br />第12章 组件 75<br />组件简史 76<br />重定位技术 78<br />链接器 79<br />本章小结 80<br />第13章 组件内聚 81<br />复用/发布等价原则 82<br />共同闭合原则 83<br />共同复用原则 84<br />组件内聚张力图 85<br />本章小结 86<br />第14章 组件耦合 87<br />无依赖环原则 88<br />自顶向下的设计 93<br />稳定依赖原则 94<br />稳定抽象原则 99<br />本章小结 104<br />第五部分 架构<br />第15章 架构的定义 106<br />开发 108<br />部署 108<br />操作 109<br />运维 109<br />对可选项保持开放 110<br />设备独立性 111<br />垃圾邮件 113<br />物理寻址 114<br />本章小结 115<br />第16章 独立性 116<br />用例 117<br />操作 117<br />开发 118<br />部署 118<br />保持选项开放 119<br />层级解耦 119<br />解耦用例 120<br />解耦模式 120<br />可独立开发性 121<br />可独立部署性 121<br />复制 122<br />又一个解耦模式 123<br />本章小结 124<br />第17章 划分边界 125<br />几个悲伤的故事 126<br />菲特内斯公司 128<br />画哪些边界?画在哪里? 130<br />输入和输出 132<br />插件化架构 133<br />关于插件化的争论 134<br />本章小结 135<br />第18章 边界剖析 136<br />跨越边界 137<br />可怕的单体应用 137<br />部署组件 139<br />线程 139<br />本地进程 140<br />服务 140<br />本章小结 141<br />第19章 策略和级别 142<br />级别 143<br />本章小结 145<br />第20章 业务规则 146<br />实体 147<br />用例 148<br />请求和响应模型 150<br />本章小结 150<br />第21章 架构的自白 151<br />架构的主题 152<br />架构的目的 152<br />Web是架构吗 153<br />框架是工具,而不是生活方式 153<br />可测试的架构 154<br />本章小结 154<br />第22章 整洁架构 155<br />依赖规则 156<br />典型场景 160<br />本章小结 161<br />第23章 展示器和谦逊对象 162<br />谦逊对象模式 163<br />展示器和视图 163<br />测试和架构 164<br />数据库网关 164<br />数据映射 165<br />服务监听器 165<br />本章小结 165<br />第24章 不完全边界 166<br />跳到最后一步 167<br />单向边界 168<br />外观 168<br />本章小结 169<br />第25章 分层和边界 170<br />狩猎游戏 171<br />整洁架构 172<br />交汇数据流 174<br />数据流的分割 174<br />本章小结 176<br />第26章 Main组件 178<br />终极细节 179<br />本章小结 183<br />第27章 服务:宏观与微观 184<br />面向服务的架构 185<br />服务化所带来的好处 185<br />运送小猫的难题 187<br />对象化是救星 188<br />基于组件的服务 189<br />跨领域问题 190<br />本章小结 191<br />第28章 测试边界 193<br />测试也是一种系统组件 194<br />可测试性设计 194<br />测试专用API 195<br />本章小结 196<br />第29章 整洁嵌入式架构 197<br />程序适用测试 200<br />目标硬件瓶颈 202<br />本章小结 210<br />第六部分 实现细节<br />第30章 数据库只是实现<br />细节 212<br />关系型数据库 213<br />数据库系统为什么如此流行 213<br />假如没有磁盘 214<br />实现细节 215<br />数据存储的性能 215<br />轶事 215<br />本章小结 217<br />第31章 Web只是实现细节 218<br />无尽的钟摆 219<br />要点 220<br />本章小结 221<br />第32章 应用程序框架只是实现细节 222<br />框架开发者 223<br />不对等的关系 223<br />风险 224<br />解决方案 224<br />主动做出选择 225<br />本章小结 225<br />第33章 案例研究:<br />视频销售 226<br />产品 227<br />用例分析 227<br />组件架构 228<br />依赖管理 230<br />本章小结 230<br />第34章 细节决定成败 231<br />按层组包 232<br />按功能组包 233<br />端口和适配器 234<br />按组件组包 235<br />实现细节 239<br />组织方式与封装 239<br />其他解耦模式 242<br />本章小结 243<br />附录 架构考古学 244 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。