官方正版 架构整洁之道 软件研发过程核心架构模式软件开发基础编程范式定义 编码实现架构设计软件研发管pdf下载

官方正版 架构整洁之道 软件研发过程核心架构模式软件开发基础编程范式定义 编码实现架构设计软件研发管百度网盘pdf下载

作者:
简介:官方正版 架构整洁之道 软件研发过程核心架构模式软件开发基础编程范式定义 编码实现架构设计软件研发管
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍


商品参数

整洁之道再续新篇 Bob大叔封山之作 熔举世热门架构于一炉 揭通用黄金法则以真言 左耳朵耗子|余晟倾情作序

编辑

善用软件架构的通用法则,即可显著提升开发者在所有软件全生命周期内的生产力。如今,传奇软件匠师Robert C. MartinBob大叔),携书Clean CodeThe Clean Coder所获巨大成功之威,向我们深刻揭示了这些法则并亲授运用之道。

Martin在《架构整洁之道》中远不只是在为我们提供选项,他几乎是在将软件世界中横跨半个世纪的各种架构类型的经验倾囊相授,目的是让读者既能阅尽所有架构选型,又可通晓其如何决定成败。Martin也的确不负厚望,本书中充满了直接而有效的解决方案,以供读者应对自己面临的真正挑战——那些或终成就或彻底破坏项目的挑战。

《架构整洁之道》不可不读,无论读者是现任的还是将来的软件架构师、分析师、设计师或软件项目经理,或是身负将他人设计落地重任的开发人员,这本书都可以让你们受益匪浅。




内容介绍

《架构整洁之道》是创造“Clean神话”的Bob大叔在架构领域的登峰之作,围绕“架构整洁”这一重要导向,地剖析其缘起、内涵及应用场景,涵盖软件研发完整过程及所有核心架构模式。《架构整洁之道》分为6部分,第1部分纲领性地提出软件架构设计的目标,描述软件架构设计的重点与模式;第2~4部分从软件开发中三个基础编程范式的定义和特征出发,进一步描述函数、组件、服务设计与实现的定律,以及它们是如何有效构建软件的整体架构的;第5部分从整洁架构的定义开始,详细阐述软件架构设计过程中涉及的方方面面,包括划分内部组件边界、应用常见设计模式、避开、降低成本、处理特殊情况等,并以实战案例将内容有机整合起来;第6部分讲述具体实现细节;附录则透过作者数十年的软件从业经历再次印证《架构整洁之道》的观点。

对于每一位软件研发从业人员——无论从事的是具体编码实现、架构设计,还是软件研发管理,《架构整洁之道》都是不可或缺的。



目录

1部分  概述

1  设计与架构究竟是什么  3

目标是什么  4

案例分析  5

本章小结  11

2  两个价值维度  12

行为价值  13

架构价值  13

哪个价值维度更重要  14

艾森豪威尔矩阵  15

为好的软件架构而持续斗争  16

2部分  从基础构件开始:编程范式

3  编程范式总览  21

结构化编程  22

面向对象编程  22

函数式编程  23

仅供思考  23

本章小结  24

4  结构化编程  25

可推导性  26

goto是有害的  28

功能性降解拆分  29

形式化证明没有发生  29

科学来救场  29

测试  30

本章小结  31

5  面向对象编程  32

封装  33

继承  36

多态  38

本章小结  44

6  函数式编程  45

整数平方  46

不可变性与软件架构  47

可变性的隔离  48

事件溯源  49

本章小结  51

3部分  设计原则

7  SRP:单一职责原则  56

反面案例2:代码合并  59

解决方案  60

本章小结  61

8  OCP:开闭原则  62

思想实验  63

依赖方向的控制  67

信息隐藏  67

本章小结  67

9  LSP:里氏替换原则  68

继承的使用指导  69

正方形/长方形问题  70

LSP与软件架构  70

违反LSP的案例  71

本章小结  73

10 ISP:接口隔离原则  74

ISP与编程语言  76

ISP与软件架构  76

本章小结  77

11 DIP:依赖反转原则  78

稳定的抽象层  79

工厂模式  80

具体实现组件  82

本章小结  82

4部分  组件构建原则

12 组件  84

组件发展史  85

重定位技术  88

链接器  88

本章小结  90

13 组件聚合  91

复用/发布等同原则  92

共同闭包原则  93

共同复用原则  94

组件聚合张力图  95

本章小结  97

14 组件耦合  98

无依赖环原则  99

自上而下的设计  105

稳定依赖原则  106

稳定抽象原则  112

本章小结  117

5部分  软件架构

15 什么是软件架构  120

开发(Development  122

部署(Deployment  123

运行(Operation  123

维护(Maintenance  124

保持可选项  124

设备无关性  126

垃圾邮件  128

物理地址寻址  129

本章小结  130

16 独立性  131

用例  132

运行  133

开发  133

部署  134

保留可选项  134

按层解耦  135

用例的解耦  136

解耦的模式  136

开发的独立性  137

部署的独立性  137

重复  138

再谈解耦模式  139

本章小结  141

17 划分边界  142

几个悲伤的故事  143

FitNesse  146

应在何时、何处画这些线  148

输入和输出怎么办  151

插件式架构  152

插件式架构的好处  153

本章小结  154

18 边界剖析  155

跨边界调用  156

令人生畏的单体结构  156

部署层次的组件  158

线程  159

本地进程  159

服务  160

本章小结  161

19 策略与层次  162

层次(Level  163

本章小结  166

20 业务逻辑  167

业务实体  168

用例  169

请求和响应模型  171

本章小结  172

21 尖叫的软件架构  173

架构设计的主题  174

架构设计的核心目标  175

Web  175

框架是工具而不是生活信条  175

可测试的架构设计  176

本章小结  176

22 整洁架构  177

依赖关系规则  179

一个常见的应用场景  183

本章小结  184

23 展示器和谦卑对象  185

谦卑对象模式  186

展示器与视图  186

测试与架构  187

数据库网关  188

数据映射器  188

服务器  189

本章小结  189

24 不完全边界  190

省掉后一步  191

单向边界  192

门户模式  193

本章小结  193

25 层次与边界  194

基于文本的冒险游戏:Hunt The Wumpus  195

可否采用整洁架构  196

交汇数据流  199

数据流的分割  199

本章小结  201

26 Main组件  203

细节化的部分  204

本章小结  208

27 服务:宏观与微观  209

面向服务的架构  210

服务所带来的好处  210

运送猫咪的难题  212

对象化是救星  213

基于组件的服务  215

横跨型变更  216

本章小结  216

28 测试边界  217

测试也是一种组件  218

可测试性设计  219

测试专用API  220

本章小结  221

29 整洁的嵌入式架构  222

“程序适用测试”测试  225

目标硬件瓶颈  228

本章小结  238

6部分  实现细节

30 数据库只是实现细节  240

关系型数据库  241

为什么数据库如此流行  242

假设磁盘不存在会怎样  243

实现细节  243

但性能怎么办呢  244

一段轶事  244

本章小结  246

31 Web是实现细节  247

无尽的钟摆  248

总结一下  250

本章小结  251

32 应用程序框架是实现细节  252

框架作者  253

单向婚姻  253

  254

解决方案  255

不得不接受的依赖  255

本章小结  256

33 案例分析:视频销售网站  257

产品  258

用例分析  258

组件架构  260

依赖关系管理  261

本章小结  262

34 拾遗  263

按层封装  264

按功能封装  266

端口和适配器  268

按组件封装  270

具体实现细节中的陷阱  274

组织形式与封装的区别  275

其他的解耦合模式  277

本章小结:本书拾遗  279

后序  280

附录架构设计考古  283



作者介绍

Robert C. MartinObject Mentor公司总裁,面向对象设计、模式、UML、敏捷方法学和极限编程领域的顾问。他是Designing Object-Oriented C++ Applications Using the Booch Method 以及 Jolt 获奖图书 Agile Software Development, Principles,Palterns,and Practices(中译版《敏捷软件开发:原则、模式与实践》)《代码整洁之道》等书作者。

 

译者简介

孙宇聪:曾在谷歌工作多年,任谷歌SRESenior Site Reliblity Engineer),前Coding.net 技术负责人。


^_^:a963aca59c5cfd0499244f5fabe57502

^_^:4aac75dd6439222dfe8897812be77bb7