新書推薦:
《
剑桥意大利戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
162.8
《
教育何用:重估教育的价值
》
售價:HK$
65.8
《
理想城市:环境与诗性
》
售價:HK$
85.8
《
大模型推荐系统:算法原理、代码实战与案例分析
》
售價:HK$
97.9
《
逆风翻盘 危机时代的亿万赢家 在充满危机与风险的世界里,学会与之共舞并找到致富与生存之道
》
售價:HK$
137.5
《
工业互联网导论
》
售價:HK$
97.9
《
木偶的恨意(法国悬念大师米歇尔普西悬疑新作)
》
售價:HK$
64.9
《
孤独传:一种现代情感的历史
》
售價:HK$
85.8
|
編輯推薦: |
读完这本书,你能收获什么?
1. 成长就是认知升级,架构本质其实就是认知架构。
2. 不再受困于业务或者架构,在更高维度思考问题。
3. 厘清架构、技术、业务的关系。
4. 空杯心态,重新再思考*基础的架构概念。
5. 抛开表象,发现事实是什么,找到成败关键点。
|
內容簡介: |
架构是如何运作并影响人们的日常生活的,在软件行业中架构是如何运作的?架构又是如何指导代码编写的,如何把架构应用在软件工程实践上?带着这些疑问,《聊聊架构》通过大量的实例一步一步揭示出架构背后的原理,以及架构在软件行业的发展,并通过企业实例来展示软件架构的实际应用。《聊聊架构》没有高深的词汇,不仅适合IT 从业人员阅读,也适合其他行业的人士阅读。尤其对于想从事架构工作的人而言,是一本不可多得的参考材料。
|
關於作者: |
聊聊架构是知名IT技术垂直社区网站最新推出的一个栏目,内容为软件与网站架构,由一线架构师执笔。本书作者王概凯,网民Kevin,是一位资深的软件架构师,也是这个栏目开山之作的作者,赢得数百万访问量。
|
目錄:
|
第一部分 认识架构 1
第一章 生命周期 2
1. 生命周期的识别 3
2. 核心与非核心生命周期 3
3. 生命周期与分工 5
第二章 时间 9
第三章 为什么会产生架构 11
1. 分工 11
2. 架构和生命周期 12
第四章 什么是架构 13
1. 架构产生的条件 13
2. 什么是架构 14
3. 架构的生命周期 16
第五章 架构和树 18
1. 树与增长 18
2. 架构和树 19
第六章 概念 20
1. 何为名相? 20
2. 究竟什么才是相? 21
3. 概念是沟通的基础 21
4. 把握概念的力量 22
第七章 什么是抽象 23
1. 个性与共性 23
2. 个性是基础 24
第八章 识别问题 25
1.面对问题有哪些困难 25
2.如何识别问题 26
3.寻找问题主体 28
第九章 切分的原则 29
1.切分就是利益的调整 29
2.为什么需要切分? 30
3.切分的原则 30
4.树和分层 31
5.切分与建模 32
6.切分的输出和组织架构 32
第十章 架构与流程 34
1.什么是流程 34
2.流程和架构分拆的关系 35
第十一章 什么是架构师 36
1.架构师做什么 36
2.架构师也是人 36
3.人人都是架构师 37
4.架构师和权利 38
第二部分 软件架构 39
第一章 什么是软件 40
1.冯诺依曼结构,图灵机,以模拟人为目标 40
2.成本为王 40
3.天空才是极限 41
4.软件的作用 42
第二章 软件的生命周期 45
1.软件的开发生命周期 46
2.软件开发的增长 46
3.软件开发的迭代 48
4.软件的运行生命周期 48
第三章 什么是软件架构 50
1. 要解决什么问题? 50
2. 分别是谁的问题呢? 51
3. 分别有什么问题? 51
4. 分析问题 52
5. 会生成哪些架构 53
6. 什么是软件架构 55
第四章 什么是软件架构师 57
1.软件架构师的不同 57
2.软件架构师的困境 58
3.生命周期的思考 58
4.软件架构师的权利 59
5.软件架构师和技术人员对技术的态度区别 60
6.架构师是技术的使用者 61
7.如何保障架构落地 62
第五章 业务、架构和技术三者的关系 64
1.什么是技术 64
2.业务、架构和技术之间的关系 66
3.技术人员和业务人员的关系 68
4.重新发明轮子 69
5.开源技术 69
第六章 软件研发 72
1.软件工程师的兴起和使命 72
2.分工的困境 74
3.软件的迭代 76
4.软件开发的分工 77
5.软件开发模式和架构 78
6.软件工程师的支持者 80
第七章 软件的架构拆分 82
1.软件拆分的原动力 82
2.软件开发团队的拆分 85
3.软件的拆分 86
4.软件开发的基础技术 88
5.软件拆分的第二动力 90
6.架构一步到位? 90
第八章 如何写好代码 92
1. 什么叫业务逻辑? 98
2. 业务逻辑分散的危害 98
3. 业务逻辑内聚的好处 100
4. 代码架构实例 101
5. 代码误解 103
6. 软件的拆分 104
第九章 单元测试 106
1.什么是单元测试 106
2.单元测试的困境 106
3.单元测试测什么 107
4.如何改造代码 108
5.为什么要做单元测试 111
6.如何做单元测试 113
第十章 软件架构和面向对象 115
1.什么是面向过程 115
2.什么是面向对象 116
3.生命周期和面向对象、面向过程 117
4.架构和面向对象、面向过程 117
5.面向对象的误区 118
6.对象和生命 119
第十一章 软件架构与设计模式 121
1.模式以及模式的意义 121
2.什么是设计模式 122
3.软件设计模式 123
4.设计模式和架构 124
5.设计模式的误区 126
第十二章 软件架构和软件框架 130
1.访问类框架 130
2.业务类框架 132
3.什么是框架 132
4.框架的特点 132
第十三章 软件运维 134
1.软件运行生命周期 134
2.什么是软件运维? 135
3.运维的业务模型 136
4.控制变化 138
5.监控变更 141
6.预警变更 142
7.主导变更 144
8.提升变更质量 146
9.运维的架构拆分 148
第十四章 软件访问生命周期 151
1.软件访问的业务模型 151
2.软件访问路径的架构拆分 153
3.大规模软件访问的架构拆分 155
4.集群 156
5.数据中心 158
第十五章 软件架构和大数据 161
1.什么是大数据 161
2.如何做好大数据 162
3.软件大数据 163
第十六章 软件架构和建筑架构 165
1.软件架构和建筑架构的目标之异同 165
2.软件和建筑的架构扩展之异同 169
第三部分 软件架构的应用 172
第一章 交易 173
1.什么是交易 173
2.货币的出现 174
3.企业的实质 175
4.软件对交易的影响 176
5.软件的交易 176
6.企业的核心 177
第二章 产品 179
1.什么是产品 179
2.什么是商品 182
3.识别产品 184
4.产品系统 185
5.产品列表 185
6.产品详情 186
7.商品的规则 186
第三章 用户 188
1.什么是用户 188
2.为什么需要用户 189
3.客户的出现 189
4.用户的生命周期 190
5.用户的识别 191
第四章 订单 192
1.什么是订单 192
2.订单的生命周期架构拆分 193
3.订单支付 195
4.订单生命周期 196
第五章 交易系统 197
1.企业的架构分拆 197
2.软件系统的建模 201
3.访问业务模型 205
4.交易软件系统的架构分拆 208
5.服务的产生和粒度 209
6.用户系统的分拆 210
第六章 事务 214
1.什么是事务 215
2.软件中的事务 216
3.数据库事务的滥用 217
4.数据库的正确使用方式 217
5.服务调用 218
|
內容試閱:
|
现代的软件从业者,都受过良好计算机和软件方面的教育,但计算机和软件方面的教育大都是从科学研究领域脱胎出来,教育的目的主要是为科学研究领域服务。随着社会的发展,软件不断的渗透到不同的业务领域,涉及到普通人生活的方方面面。以科学研究为目的的软件教育,和日益深入人们生活的软件应用,产生了很大的隔阂。以致于很多计算机和软件专业毕业的学生,进入企业工作后,总是感叹学校所学习的知识派不上用场,必须得重新学习才能够达到企业的要求。
重新学习的内容是以技术为主的,技术的更新换代太快,往往也导致跟上新技术的步伐力不从心。技术和业务的关系是如何的?业务又是怎么运作的?很少有人去问这个问题。即使有人问了,也很难有人可以提供建议。
软件技术学习到一定的地步会发现软件架构又是一个门槛。什么是架构,在软件行业都有很多的争论,每个人都有自己的理解。甚至于很多架构师一说架构,就开始谈论应用架构,硬件架构,数据架构等等。而事实上,架构在软件发明前就已经存在了。众说纷纭,莫衷一是,也给大家带来了很多困扰。
业务和架构,是压在软件从业人员身上的两座大山。而他们手上却只有一个武器:技术。可是这个武器还时灵时不灵,就好像金庸小说《天龙八部》中段誉的六脉神剑,并不总是能够解决问题,有时还会带来麻烦。
软件和现实生活紧密相关,并不是虚无缥缈的东西。业务和架构都是处理人的问题,恰好是技术人员最不擅长的,但是又无法逃避。因为这个排斥的心理,始终避开和人有关系的地方。因此在技术之前,还需要做一些准备工作,用来连接现实生活,联系上人,让大家知道处理人的问题并不可怕。建立了这个相关性,每个人就都可以自行思考了。
人类受限于自己的生命周期,凡事都有其生命周期。理解了生命周期,就可以看到很多隐藏在背后的规律,以及这些规律之间的联系。因此,本书试图从生命周期入手,描绘出一张整体的画卷,帮助大家包括技术人员定位自己处于什么地方,自己在起什么作用,别人又在什么地方,他们又在起什么作用。明白了这些也就清楚自己有什么,缺什么,要往哪个地方走,从哪些地方入手了。所谓知己知彼,百战百胜。和人打交道时也就有了自己的思考方式,能够进行独立思考,对业务也不再逃避,而是为能帮助业务人员分析及解决问题而自豪。
本书虽然不是技术书籍,却是以帮助技术人员为出发点的。书中内容可作为连接技术人员和现实世界的桥梁,使得技术人员不再悬在空中,使不出力。对于非技术人员而言,本书可以帮助其理解软件开发本身特殊的业务,拉近与技术人员的距离,能够更有针对性地与技术人员合作。
读完本书不会使读者突然学会神功,打通任督二脉。因为每个人的成长,最终还是要靠自己的思考和实践。本书的思考也不能够代替读者自己的思考,在解决某个业务问题时也无法从书中直接找到答案。但是本书可以提供给大家的是一个思考的出发点,一个思考的方向,一个思考的角度,使大家不再惧怕或排斥业务,并可以像架构师一样思考,不再受困于业务和架构,甚至是技术本身。如果本书能够帮助大家跨过这个门槛,并从这里开始展开思考,目的就达到了。
|
|