电子书:《架构整洁之道》_孙宇聪译_2018-9-26

[复制链接]
查看172 | 回复1 | 2019-12-28 14:33:23 | 显示全部楼层 |阅读模式

《架构整洁之道》_孙宇聪译_2018-9-26_1

《架构整洁之道》_孙宇聪译_2018-9-26_1

《架构整洁之道》_孙宇聪译_2018-9-26_2

《架构整洁之道》_孙宇聪译_2018-9-26_2

《架构整洁之道》_孙宇聪译_2018-9-26_3

《架构整洁之道》_孙宇聪译_2018-9-26_3


内容简介:

架构整洁之道
Clean architecture
[美] Robert o. Martin著
孙宇聪译
電子工業出陋社
ublishing House of Electronics Industry

内容简介
《架枃整洁之道》是创造“ Clean神话”的Bob大叔在架构领域的登峰之作,围绕“架构整洁”这一重
要导向,系统地剖析其缘起、内涵及应用场景,涵盖软件研发完整过程及所有核心架构模式。本书分为6
分,第1部分纲领性地提出软件架构设计的终极目标,描述软件架构设计的重点与模式;第24部分从软
件开发中三个基础编程范式的定义和特征出发,进一步描述函数、组件、服务设计与实现的定律,以及它
们是如何有效构建软件系统的整体架构的:第5部分从整洁架构的定义开始,详细阐述软件架构设计过程
中涉及的方方面面,包括划分内部组件边界、应用常见设计模式、避开错误、降低成本、处理特殊情况等
井以实战案例将内容有机整合起来;第6部分讲述具体实现细节:附录则透过作者数十年的软件从业经历
再次印证本书的观点
对于每一位软件研发从业人员——无论从事的是具体编码实现、架构设计,还是软件研发管理,本书
都是不可或缺的
Authorized translation from the enel
tled Clean architecture, l st Edition. ISBN:
0134494164 by Robert C Martin, published by
Educatio
Inc. All rights reserved. No part of this book may be
or transmitted in any form or by any means.
electronic or mechanical, including photocopying,
without permission from Pearson Education, In
CHINESE SIMPLIFIED language edition published by PUBLISHING HOUSE OF ELECTRONICS
INDUSTRY, Copyright e 2018
本书简体中文版专有出版权由 Pearson Education培生教育出版集团授予电子工业出版社,未经出版者
预先书面许可,不得以任何方式复制或抄袭本书的任何部分
本书简体中文版贴有 Pearson Education培生教育出版集团激光防伪标签,无标签者不得销售
版权贸易合同登记号图字:01-2017-7530
架构整洁之道/(美)罗伯特·C.马丁( Robert c. Martin)著:孙宇聪译.一北京:电子工业出版社,2018.9
书名原文: Clean Architecture
SBN978-7-121-34796-2
①罗…②孙…Ⅲ①软件设计Ⅳ.①TP31
中guo版本图书馆CIP数据核字(2018)第168309号
策划编辑:张春雨
责任编辑:付睿
印刷:三河市良远印务有限公司
装订:三河市良远印务有限公司
出版发行:电子工业出版社
匕京市海淀区万寿路173信箱郎编:100036
开本:787×9
版次:2018年9月第1版
印次:2018年10月第2次印厢
定价:99.00元
所购买电子工业出版社图书有缺损问題,请向购买书店调换。若书店售缺,请与本社发行部联系
联系及邮购电话010)88254888,8825
质量投诉请发邮件至zts@Iphei.com.cn,盗版侵权举报请发邮件至dbg(phei
本书咨询联系方式:010-51260889,faq@phei.com.cn

推荐序
在我心里,程序员可以分为三个层次:普通程序员、工程师和架构师
普通程序员是编写代码的人。编写代码的方式有很多,只要能让程序跑起来,
能正确地处理业务流程和对数据进行计算,就可以说“会编写代码”。程序员需要
熟悉整个程序的逻辑及处理过程,需要熟悉程序语言的特性,还需要熟悉一些计
机操作系统的交互调用方式,才能写出从用户侧交互,到数据和业务逻辑处理,再
到与计算机系统交互的代码,有效地把用户信息、数据、业务和计算机串联和拼装
出来
然而,其中一些程序员发现,只让代码跑起来是不够的,因
变化的,他们发现自己需要花更多的时间来维护代码:增加新的需求,扩展原有的
流程,修改已有的功能,优化性能
个人完全维护不过来,还需要更多的人
于是代码还需要在不同人之间轮转:他们发现代码除了需要跑起来,还需要易读
易扩展、易维护,甚至可以直接重用。于是,这些人使用各种各样的手段和技术不
断提高代码的易读性、可扩展性、可维护性和重用性。我们把这些有“洁癖”、有
工匠精精、有修养的程序员叫作工程师,工程师不仅仅是在编写代码,他们会用工
的方法来编写代码,以便让编程开发更为高效和快速。他们把编程当成一种设计
种工业设计,把代码模块化,让这些模块可以更容易地交互拼装和组织,让代码

架构整洁之道
排列整齐——阅读和维护这些代码就像看阅兵式一样舒心畅快
但是故事还没完,这些拥有工匠精神的工程师们还是难以解决某些问题,这些
人渐渐地发现,这个世界上有很多问题就像翘翘板一样,只能要一边,这一边上去
了,另一边就下来了。就像要么用空间换时间,要么用时间换空间一样,你很难找
到同时满足空间和时间要求的“双利解”:就像CAP的三选二的理论一样,这个世
界不存在完美的解决方案,无论什么方案都有
和不好的一面。而且,这些
工程师还渐渐发现,每当引入一个新的技术来解决一个已有的问题时,这个新的技
术就会带来更多的问题,问题就像有一个生命体一样,它们会不断地繁殖和进化
渐地,他们发现,问题的多少和系统的复杂度呈正比,而且不仅是线性正比
可能呈级数正比,此时就越来越难做技术决定。但是有一些资深的工程师开始站出
来挑战这些问题,有的基于业务分析给出平衡的方案,有的开始尝试设计更高级的
术,有的开始设计更灵活的系统,有的则开始简化和轻量化整个系统
智商、经验足、不怕难的工程师们引领着整个行业前行。他们就是架构师
感觉Bob大叔的系列著作好像也在走这个过程,《代码整洁之道》教你写出易
读、可扩展、可维护、可重用的代码,《代码整洁之道:程序员的职业素养》教你
怎样变成一个有修养的程序员,而《架构整洁之道》基本上是在描述软件设计的一
些理论知识。《架构整洁之道》大体分成三个部分:编程范式(结构化编程、面向
对象编程和函数式编程),设计原则(主要是 SOLID),以及软件架构(其中讲了
很多高屋建翎的内容)。总体来说,这本书中的内容可以让你从微观(代码层面)
和宏观(架构层面)两个层面对整个软件设计有一个全面的了解
但是,如果你想从这本书里找到一些可以立马解决具体问题的工程架构和技术,
怕你会感到失望。这本书中更多的是一些基础的理论知识,看完后你可能会比较
“无感”,因为这些基础知识对于生活在这个高速发展的喜欢快餐文化的社会中的人
来说,可能很难理解其中的价值—一大多数人的目标不是设计出一个优质的软件或
架构,而是快速地解决一个具体的问题,完成自己
足够多的壁,掉过足够多的坑,经历过足够多的痛苦后,再来读这本书时,你才会
发现本书中的这些“陈旧的知识”是多么充满智慧。而且,如果有一天,你像我这
个老家伙一样,看到今天很多很多公司和年轻的程序员还在不断地掉坑和挣扎

推荐序一
就会明白这些知识的重要性了
个人觉得,这本书是架构方面的入门级读物,但也并不适合经验不足的人员
学习,这本书更适合的读者群是,有3-~5年编程经验、需要入门软件设计和架构的
工程师或程序员
最后,我想留下一个观点和一组问题
观点:无论是微观世界的代码,还是宏观层面的架构,无论是三种編
程范式还是微服务架构,它们都在解决一个问题—一分离控制和逻輯。所
谓控制就是对程序流转的与业务逻輯无关的代码或系统的控制(如多线程
异步、服务发现、部署、弹性仲缩等),所谓逻辑则是实实在在的业务逻
輯,是解决用户问题的逻辑。控制和逻辑枸成了整体的软件复杂度,有效
地分离控制和逻輯会让你的系统得到最大的简化。
问题:如果你要成为一名架构师,你需要明确地区分几组词语(如何
区分它们正是留给你的问题),否则你不可能成为一名合格的工程师或架
构师。这几组词语是简单νs.简陋、平衡ws,妥协、迭代vs半成品。如果你
不能很清楚地定义出其中的区别,那么你将很难做出正确的决定,也就不
可有成为一名优秀的工程师或架构师。
我相信这个观点和这组问題将有助于你更好地阅读并理解这本书,也会让你进
行更多的思考,带着思考读这本书,会让你学到更多


#############################################


回复

使用道具 举报

锁住烂漫@ | 2019-12-28 14:33:27 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则