互联网
类型
可以朗读
语音朗读
216千字
字数
2017-07-01
发行日期
展开全部
主编推荐语
引导你了解Flux设计模式的方方面面,如何去设计和开发基于此的强大的Web应用,并构建一个真实的React应用来突出Flux的强大和简洁,以及Alt和Redux如何使React和Flux开发变得更加简单。
内容简介
Flux是一套架构模型,将Web应用的各个主要功能以组件的形式进行划分,并进一步划分子组件。而各组件又以动作、存储器和视图来进行架构分层。整体采用单向数据流的形式进行事件的响应,各组件间也强制按照单向数据流进行相互影响,直至数据流结束。
在本书中,先向大家介绍了Flux是什么,以及简单展示了其基本构建模式。然后从动作、存储器、视图、分发器等核心概念,更为详细地阐述了Flux的架构模式。最后,介绍了Flux库、测试工具和其对其他相关技术栈的影响。
目录
- 版权信息
- 内容简介
- 译者序
- 关于作者
- 关于审校者
- 关于译者
- 前言
- 1 Flux是什么
- Flux是一套模式
- 数据入口
- 状态管理
- 保持同步更新
- 信息架构
- Flux并不是一个框架
- Flux的设计思路问题解决方案
- 数据流向
- 可回溯性
- 通知的一致性
- 简捷的架构分层
- 低耦合渲染
- Flux组件
- 动作
- 分发器
- 存储器
- 视图
- 安装Flux软件包
- 小结
- 2 Flux的原则
- MV*所面临的挑战
- 关注点分离
- 级联更新
- 模型更新的职责
- 单向数据
- 从开始到结束
- 无毒无害
- 显式优于隐式
- 暗藏隐患的更新
- 集中修改状态的地方
- 太多动作?
- 分层优于嵌套
- 多组件嵌套
- 嵌套深度与副作用
- 数据流和分层
- 应用数据和界面状态
- 两个相同的东西
- 强耦合转换
- 功能中心化
- 小结
- 3 搭建骨架架构
- 总体组织
- 目录结构
- 依赖管理
- 信息设计
- 用户不需要了解模型
- 存储器映射用户看到的内容
- 和哪些东西协同工作
- 在动作中注入存储器
- 获取API数据
- 改变API资源状态
- 本地动作
- 存储器和功能域
- 梳理顶层功能
- 无关紧要的API数据
- 构造存储器数据
- 模拟视图
- 找寻失去的数据
- 定位动作
- 端到端场景
- 动作清单
- 存储器清单
- 视图清单
- 小结
- 4 创建动作
- 动作的名称和常量
- 动作命名约定
- 静态动作数据
- 组织动作常量
- 特性动作生成器
- 什么时候需要模块化
- 模块化架构
- 模拟数据
- 模拟已存在的接口
- 模拟新接口
- 替换动作生成器
- 状态动作生成器
- 整合其他系统
- web socket连接
- 参数化动作生成器
- 删除多余的动作
- 保持动作的通用性
- 创建衍生动作
- 小结
- 5 异步动作
- 保持Flux同步
- 为什么要同步
- 压缩异步行为
- 异步动作语义
- 创建API调用
- API是常见的情况
- API调用和用户交互
- 结合API调用
- 复杂的动作生成器
- 组合动作生成器
- 返回promise
- 不含promise的同步
- 组织异步行为
- 错误处理
- 小结
- 6 改变Flux存储器的状态
- 适应不断变化的信息
- 变化的API数据
- 变化的功能
- 受影响的组件
- 减少重复的存储器数据
- 通用存储器数据
- 注册通用存储器
- 结合通用和专用数据
- 处理存储器的依赖关系
- 等待存储器
- 数据依赖
- UI依赖
- 视图的更新顺序
- 存储器的注册顺序
- 视图渲染的优先级排序
- 处理存储器复杂度
- 存储器太多
- 反思功能域
- 小结
- 7 视图信息
- 传递视图数据
- change事件中的数据
- 视图决定何时渲染
- 保持视图无状态
- UI状态属于存储器
- 不用查询DOM
- 视图的职责
- 渲染存储器数据
- 子视图结构
- 用户交互
- 在Flux中使用ReactJS
- 设置视图状态
- 组成视图
- 响应事件
- 路由和动作
- 小结
- 8 信息的生命周期
- 组件生命周期难题
- 回收不再使用的资源
- 隐藏依赖
- 内存泄漏
- Flux结构是静态的
- 单例模式
- 与模型进行比较
- 静态视图
- 扩展信息
- 如何很好地扩展
- 最小化所需信息
- 扩展的动作
- 闲置的存储器
- 删除存储器数据
- 优化闲置的存储器
- 保持存储器数据
- 小结
- 9 不可变的存储器
- 放弃隐藏的更新
- 如何破坏Flux架构
- 获取存储器数据
- 一切皆不可变
- 强制执行单向数据流
- 纵横交错的单向数据流
- 过多的存储器?
- 没有足够的动作
- 强制不可变性
- 不可变数据的成本
- 垃圾回收是昂贵的
- 批量转换
- 抵消成本
- 使用Immutable.js
- 不可变列表和映射
- 不可变的转换
- 变化检测
- 小结
- 10 实现分发器
- 抽象分发器接口
- 存储器的注册地
- 分发负载
- 依赖关系的处理
- 分发器所面临的挑战
- 教育的目的
- 单例模式的分发器
- 手动注册存储器
- 容易出错的依赖管理
- 构建分发器模块
- 封装存储器的引用
- 处理依赖
- 分发动作
- 优化存储器的注册
- 基础存储器类
- 一个动作方法
- 小结
- 11 可替代的视图组件
- ReactJS是适合Flux的
- ReactJS是单向的
- 重新渲染数据很简单
- 短小精悍的代码
- ReactJS的缺点
- 虚拟DOM和内存
- JSX和标记语言
- 库锁定
- 使用jQuery和Handlebars
- 为什么是jQuery和Handlebars
- 渲染模板
- 组合视图
- 事件处理
- 使用VanillaJS
- 对可选择性保持开放
- 迁移到React
- 新的技术热点
- 小结
- 12 使用Flux库
- 实现核心Flux组件
- 自定义分发器
- 实现一个基本的存储器
- 创建动作
- 实现中遇到的痛点
- 分发异步动作
- 划分存储器
- 使用Alt
- 核心理念
- 创建存储器
- 声明动作生成器
- 监听状态变化
- 视图渲染以及分发动作
- 使用Redux
- 核心思想
- 状态转换器和存储器
- Redux动作
- 渲染组件和分发动作
- 小结
- 13 测试和性能
- 你好,Jest
- 测试动作生成器
- 同步函数
- 异步函数
- 测试存储器
- 测试存储器监听器
- 测试初始状态
- 性能目标
- 用户感知的性能
- 测量的性能
- 性能需求
- 分析工具
- 异步动作
- 存储器内存
- CPU占用
- 基准测试工具
- 代码的基准测试
- 状态转换
- 小结
- 14 Flux和软件开发的生命周期
- Flux的开放性解释
- 实现选项一:只是模式
- 实现选项二:使用Flux库
- 实现并使用自己的Flux
- 开发方法论
- 在Flux初期要考虑的事情
- 成熟的Flux应用
- 从Flux中获得的启示
- 单向数据流
- 信息设计为王
- 打包Flux组件
- 完整独立的Flux
- 可安装的软件包
- 可安装的Flux组件
- 小结
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。