作者:周爱民 日期:2017-02-19 23:03:14
本书可以看成是《大道至简》的姊妹篇,是以软件工程为体系、以组织结构为视角,融合系统架构师、项目管理者和软件开发人员三种角色实践的思想总成。本书讨论这些思想,并陈述它们所基于的原则、背景与获得过程。
本书适合各类工程管理人员、软件开发人员和架构师阅读。
作序者对本书的评价:
本书作者站在架构师的高度上来看待软件开发,甚至更大的意义上,看待以软件开发能力为核心的企业在产品战略、人力配置和文化方面的组织问题。作者在过去几年里,先后在两家超大规模互联网企业中做架构师,他在其中的矛盾、迷惘、挣扎和成就是这本书的思想源泉,而他对于架构师角色的实习和领悟,也是这本书的价值所在。作者采取的方式,就是老老实实把自己的思维过程和喃喃自语都很原生态地记录下来,从而形成一本“心语”之作。因此,如果读者也能够“心心相印”,潜下心来仔细品读这本书,那么就相当于跟作者一起进行了一段旅行对话,或者,一起在思维的教武场里杀个几进几出。或许这种如切如磋、如琢如磨、反复捶打、反复锻造的风格,倒确实能够帮助有心的读者获得一些架构设计的经验。
因此,无论从内容上,还是从行文风格上,这本书都是非常独特的,也有其独特的价值。作者的作品,一向是长销之作,其价值也往往需要一段时间才能被真正认识,我不敢说自己能够在短暂的阅读当中充分理解这本书,但是我相信其中所蕴藏的价值和诚意。
——孟岩 作者简介
周爱民(Aimingoo),国内软件开发界资深软件工程师,架构师。有十余年的软件开发、项目管理、团队建设的经验,曾任盛大网络平台架构师、支付宝业务架构师等职。著有《Delphi源代码分析》、《大道至简》和《java script语言精髓与编程实践》等专著。
目录:
目 录
总论 领域角色的关注 1
第一节 什么是领域角色的关注 2
第二节 基于组织视角的观察 11
第三节 工程的本质问题是组织 25
第一篇 具体工程下的组织与行为
引言 管理中的逻辑 33
第一章 任人治事:组织行为的基本认知 35
第一节 刺秦与灭秦 36
第二节 看到别人能做什么 43
第三节 要做事,不要管理 51
第四节 伯夷与叔齐是怎么死的 59
第二章 谋定后动:项目的存在权 67
第一节 试错通常是无能的托辞 68
第二节 合法的山大王为什么没能成功 78
第三节 自己想办法 86
第三章 具体而微:工程是系统而不是事 93
第一节 做事的选择 94
第二节 你要什么 102
附录一 行在道上,从局部到全局 109
附录二 本来面目——大教堂、集市,与作坊 111
附录三 杀不死的人狼——我读《人月神话》 113
第二篇 程序源流:从计算到系统(上)
引言 简单的本源 117
第四章 计算系统 119
第一节 数,以及对数据的性质的思考 120
第二节 逻辑 126
第三节 抽象 129
第五章 语言及其面临的系统 133
第一节 语言 134
第二节 从功能到系统 141
第六章 程序设计的核心思想 151
第一节 数据结构:顺序存储 153
第二节 数据结构:散列存储 160
第三节 执行体及其执行过程中的环境 167
第四节 语法树及其执行过程 174
第五节 对象系统:表达、使用与模式 181
第三篇 程序源流:从计算到系统(下)
第七章 应用开发基础 199
第一节 应用开发的背景与成因 200
第二节 应用开发技术 207
第三节 开发视角下的工程问题 216
第四节 应用程序设计语言的复杂性 223
第八章 系统的基础部件 231
第一节 分布 232
第二节 依赖 241
第三节 消息 245
第四节 系统 250
第九章 系统的基本组织方法与原理 253
第一节 行为的组织及其抽象 254
第二节 领域间的组织 257
附录一 “主要编程范式”及其语言特性关系 273
附录二 继承与混合,略谈系统的构建方式 275
附录三 像大师们一样思考——从“UML何时死掉”谈起 277
附录四 VCL已死,RAD已死 279
第四篇 架构的思想与指导原则
引言 架构师的思维 285
第十章 你所关注的系统 287
第一节 了解系统的过程 288
第二节 知识的构建 295
第三节 最初的事实 307
第十一章 架构是过程,而非结果 315
第一节 架构师的能力结构 316
第二节 系统架构与决策 324
第三节 架构的表达与逻辑 338
第十二章 架构原则,技艺、艺术与美 355
第一节 架构原则 356
第二节 技艺、艺术与美 368
附录一 做人、做事,做架构师——架构师能力模型解析 373
附录二 专访:谈企业软件架构设计(节选) 375
参考资料 377
图表索引 382