Flux架构

Flux架构

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

引导你了解Flux设计模式的方方面面,如何去设计和开发基于此的强大的Web应用,并构建一个真实的React应用来突出Flux的强大和简洁,以及Alt和Redux如何使React和Flux开发变得更加简单。

内容简介

Flux是一套架构模型,将Web应用的各个主要功能以组件的形式进行划分,并进一步划分子组件。而各组件又以动作、存储器和视图来进行架构分层。整体采用单向数据流的形式进行事件的响应,各组件间也强制按照单向数据流进行相互影响,直至数据流结束。

在本书中,先向大家介绍了Flux是什么,以及简单展示了其基本构建模式。然后从动作、存储器、视图、分发器等核心概念,更为详细地阐述了Flux的架构模式。最后,介绍了Flux库、测试工具和其对其他相关技术栈的影响。

作者简介

作者Adam·Boduch从事大规模Java Script开发已经将近10年。在转行前端之前,他曾使用Python和Linux编写过几个大规模的云计算产品。Adam对复杂度有一些了解,在真实世界的软件系统和应对其扩展上的挑战方面具有实际经验。他写过几本Java Script的书,包括《Java Script并发》(Java Script Concurrency),他在研究用户体验创新和高性能方面充满热情。

章节目录

版权信息

内容简介

译者序

关于作者

关于审校者

关于译者

前言

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组件

小结

Flux架构是2017年由电子工业出版社出版,作者[加] Adam·Boduch。

得书感谢您对《Flux架构》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
数据存储架构与技术 电子书
本书介绍数据存储架构与技术,涵盖了存储盘与存储介质、存储阵列、存储协议、键值存储,文件系统、网络存储体系结构、分布式存储系统、存储可靠性、存储安全、数据保护等基础内容,对存储维护、存储解决方案、存储技术趋势与发展等主题进行了深入讨论,并提供目前新的研究成果作为案例,帮助读者加深对数据存储的理解与运用。本书内容丰富,适合计算机及相关专业高年级本科生或研究生阅读和学习,同时也可供专业技术人员参考。
SpringCloud微服务架构实战 电子书
本书以实战化训练为宗旨,用详尽的案例讲述SpringCloud的项目搭建方法和常用技术。
数据架构与商业智能 电子书
本书试图利用公式般的架构推导过程,以企业总体规划为主线,利用数据架构的方法论讲解关于商业智能的数据模型设计、数据的分布、流转等内容。
云原生架构进阶实战 电子书
凝练云原生的核心思想和理念,通过讲述云原生敏捷基础架构构建过程和DevOps方法,并结合实际案例,为你展现云原生的实战场景和步骤。
微服务设计原理与架构 电子书
本书共分为四大篇幅内容,包括:1.直面微服务篇,剖析微服务架构的基本特征、优势和劣势,并给出实施微服务架构的系统方法。2.服务建模篇,介绍服务建模的思路和方法,并从服务拆分和集成角度对服务模型进行重点展开。3.服务实现篇,介绍微服务架构涉及的基础组件、关键要素以及目前主流的技术实现体系。4.服务转型篇,包括对遗留系统进行微服务架构的改造方法以及对研发过程转型的讨论。