移动开发架构设计实战
全新正版 极速发货
¥
39.4
4.4折
¥
89
全新
库存2件
作者编者:李云鹏
出版社电子工业
ISBN9787121375071
出版时间2019-11
装帧平装
开本其他
定价89元
货号30758372
上书时间2024-10-21
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
李云鹏,网易新闻架构技术组工程师,沐暄网创始人,Oracle、Adobe等企业认证专家;10年互联网经验,曾就职于世界500强企业核心技术实验室;于2009年创立沐暄网,2010年入围凤凰网“全球最具影响力的中文论坛100强”站长。
擅长移动端架构设计、项目重构与Intellij插件开发等工作。参与网易新闻组件化架构设计,视频模块、统计模块等多模块重构工作,利用VIPER对客户端基础架构进行改良。喜欢创新和研究,作为第一发明人,申请了十余项专利和著作权。
目录
第1章 什么是架构1
1.1 架构设计理念1
1.1.1 软件架构的起源1
1.1.2 架构设计三要素2
1.1.3 什么是优秀的软件架构设计2
1.1.4 软件架构设计的关注点3
1.2 软件架构设计的本质和目的3
1.2.1 做出决策3
1.2.2 降低软件熵4
1.3 架构设计思维4
1.3.1 简化思维4
1.3.2 分层思维5
1.3.3 分治思维6
1.3.4 迭代思维6
1.4 架构设计模式原则7
1.4.1 单一职责原则7
1.4.2 开放封闭原则8
1.4.3 里氏替换原则9
1.4.4 依赖倒置原则9
1.4.5 接口分离原则10
1.5 架构设计步骤11
1.5.1 认识系统11
1.5.2 设计系统12
1.5.3 创建系统14
1.5.4 收集反馈14
1.6 小结15
第2章 MVC架构:表现层分离16
2.1 什么是MVC16
2.1.1 MVC的诞生16
2.1.2 MVC的分层与职责17
2.1.3 MVC在移动开发中的争议18
2.2 MVC的模式19
2.2.1 被动模式19
2.2.2 主动模式19
2.2.3 观察者模式20
2.2.4 被动模式与主动模式的区别21
2.3 MVC的核心思想21
2.4 小结22
第3章 实战:基于MVC架构设计的日记App23
3.1 层级职责划分23
3.2 准备阶段24
3.2.1 准备、创建View24
3.2.2 清单文件Manifest配置26
3.2.3 初始化Fragment27
3.3 创建View28
3.4 数据处理31
3.4.1 创建Model31
3.4.2 创建本地数据源32
3.4.3 数据持久化工具33
3.4.4 实现本地数据源34
3.4.5 填充测试数据36
3.4.6 使用数据仓库管理数据37
3.5 创建Controller40
3.5.1 Controller初始化40
3.5.2 创建Adapter41
3.5.3 创建ViewHolder43
3.5.4 Controller的协调工作44
3.6 运行App48
3.7 实现主动模式的MVC49
3.7.1 改造Model49
3.7.2 注册观察者50
3.8 小结50
第4章 MVP架构:开始解耦52
4.1 什么是MVP52
4.1.1 MVP架构的起源52
4.1.2 MVP的分层与职责52
4.2 MVP的核心思想53
4.2.1 面向接口编程53
4.2.2 德墨忒尔定律54
4.3 MVP与MVC的区别55
4.4 MVP模式存在的问题56
4.4.1 责任过重的Presenter56
4.4.2 业务逻辑无法复用56
4.4.3 急剧扩增的接口数量57
4.5 如何解决Presenter的复用问题57
4.5.1 提供工具类57
4.5.2 提供多对一的Presenter57
4.5.3 分离出Interactor层58
4.6 小结59
第5章 实战:MVP架构设计60
5.1 层级职责划分60
5.2 准备工作60
5.2.1 定义基础View接口60
5.2.2 定义基础Presenter接口61
5.3 重构:从MVC到MVP61
5.3.1 创建Presenter61
5.3.2 改造View62
5.3.3 传入Presenter实例63
5.3.4 开发过程中Presenter和View的直接依赖63
5.3.5 Presenter生命周期的处理64
5.3.6 列表Adapter的处理64
5.3.7 展示数据的处理65
5.3.8 对话框展示的处理67
5.3.9 菜单的处理68
5.3.10 实现面向接口设计69
5.3.11 建立契约类69
5.4 实现MVP模式:日记修改功能70
5.4.1 创建日记修改Activity71
5.4.2 创建日记修改Fragment72
5.4.3 添加“完成”按钮74
5.4.4 创建日记修改Presenter75
5.4.5 日记操作处理76
5.4.6 页面跳转处理77
5.4.7 删除旧有的修改日记UI78
5.4.8 修改为面向接口设计79
5.5 小结79
第6章 MVVM架构:双向绑定81
6.1 什么是MVVM81
6.1.1 MVVM架构的起源81
6.1.2 MVVM的分层与职责82
6.2 MVVM的核心思想82
6.2.1 进一步解耦82
6.2.2 数据驱动83
6.2.3 双向绑定83
6.3 架构模式对比84
6.3.1 MVC与MVVM84
6.3.2 MVP与MVVM85
6.4 MVVM存在的问题86
6.4.1 ViewModel难以复用86
6.4.2 学习成本高86
6.4.3 调试困难86
6.5 小结87
第7章 实战:MVVM架构设计88
7.1 什么是DataBinding88
7.2 重构:从MVP到MVVM88
7.2.1 配置DataBinding支持89
7.2.2 修改Presenter为ViewModel89
7.2.3 消除契约类90
7.2.4 转换布局文件92
7.2.5 在布局中加入变量和表达式93
7.2.6 ViewModel继承BaseObservable94
7.2.7 在XML布局文件中定义列表数据属性95
7.2.8 使用BindingAdapter处理自定义属性97
7.2.9 绘制View布局98
7.2.10 为View属性赋值99
7.2.11 找到XML中的View100
7.2.12 ObservableField原理100
7.2.13 使用ObservableField101
7.2.14 使用ObservableList103
7.3 小结104
第8章 依赖注入:Dagger2锋利的“匕首”105
8.1 什么是Dagger105
8.1.1 依赖注入105
8.1.2 编译时注解解析107
8.2 实现:将Dagger2加入MVP108
8.2.1 配置Dagger2108
8.2.2 确定数据仓库改造目标108
8.2.3 改造数据仓库109
8.2.4 Inject注解110
8.2.5 Component注解111
8.2.6 Module注解114
8.2.7 Provides注解115
8.2.8 Scope注解117
8.2.9 Singleton注解117
8.2.10 Scope注解和Singleton注解的实现原理118
8.2.11 日记列表模块依赖关系分析120
8.2.12 创建日记列表模块Component120
8.2.13 创建日记列表Presenter Module121
8.2.14 Component的dependencies属性123
8.3 存在的问题125
8.3.1 学习成本极高125
8.3.2 短期内开发效率低125
8.3.3 灵活性不良好126
8.4 小结126
第9章 函数响应式框架:优雅的RxJava2127
9.1 什么是RxJava127
9.2 RxJava2的核心思想128
9.2.1 函数响应式编程128
9.2.2 背压129
9.2.3 链式调用129
9.3 实战:将RxJava2加入MVP130
9.3.1 配置RxJava2130
9.3.2 Flowable131
9.3.3 响应式拉取132
9.3.4 修改数据源接口133
9.3.5 修改本地数据源133
9.3.6 Just操作符134
9.3.7 Empty操作符135
9.3.8 FromIterable操作符135
9.3.9 To操作符136
9.3.10 Subscriber和事件流137
9.3.11 修改数据仓库137
9.3.12 FlatMap操作符139
9.3.13 Map操作符140
9.3.14 修改Presenter141
9.3.15 CompositeDisposable和Disposable142
9.3.16 Presenter生命周期143
9.4 存在的问题144
9.5 小结144
第10章 AAC:搭建生命周期感知架构145
10.1 什么是AAC145
10.2 AAC的核心思想146
10.2.1 关注点分离146
10.2.2 模型驱动界面147
10.3 ViewModel+LiveData148
10.3.1 DataBinding148
10.3.2 Gradle依赖配置149
10.3.3 AAC中的ViewModel149
10.3.4 使用ViewModel150
10.3.5 使用ViewModelProviders创建ViewModel151
10.3.6 什么是LiveData152
10.3.7 MutableLiveData153
10.3.8 创建LiveData1
内容摘要
本书覆盖了移动开发中涉及的多种架构模式,基于Android平台对架构模式进行实战,可以帮助入门开发者了解架构模式,进阶开发者掌握架构模式,技术领导者进行架构选型。本书内容包括:流行架构模型MVX系列——MVC架构、MVP架构、MVVM架构,依赖注入框架Dagger2,函数响应式框架RxJava2,Google推荐的生命周期感知架构组件AAC,整洁的架构“TheCleanArchitecture”和组件化架构的运用方法与实战。本书语言精练,内容清晰,代码易于理解,适合计算机相关行业的从业者阅读与学习。
— 没有更多了 —
以下为对购买帮助不大的评价