Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

Flutter in action 咸鱼最佳实践 PDF 下载


分享到:
时间:2024-04-11 11:16来源:http://www.java1234.com 作者:转载  侵权举报
Flutter in action 咸鱼最佳实践
失效链接处理
Flutter in action 咸鱼最佳实践  PDF 下载
 
 
 
相关截图:
 

主要内容:

Redux
Redux 是来自前端社区的一个数据管理框架,对 Native 开发同学来说可能会有
一点陌生,我们做一个简单的介绍。
Redux 是做什么的?
Redux 是一个用来做 [ 可预测 ][ 集中式 ][ 易调试 ][ 灵活性 ] 的数据管理的框架。
所有对数据的增删改查等操作都由 Redux 来集中负责。
Redux 是怎么设计和实现的?
Redux 是一个函数式的数据管理的框架。传统 OOP 做数据管理,往往是定
义一些 Bean,每一个 Bean 对外暴露一些 Public-API 用来操作内部数据(充
血模型)。
函数式的做法是更上一个抽象的纬度,对数据的定义是一些 Struct(贫血模型),
而操作数据的方法都统一到具有相同函数签名 (T, Action) => T 的 Reducer 中。
FP:Struct(贫血模型) + Reducer = OOP:Bean(充血模型)
同时 Redux 加上了 FP 中常用的 Middleware(AOP) 模式和 Subscribe 机制,
给框架带了极高的灵活性和扩展性。
Redux 的缺点
Redux 核心仅仅关心数据管理,不关心具体什么场景来使用它,这是它的优点
同时也是它的缺点。
在我们实际使用 Redux 中面临两个具体问题:
● Redux 的集中和 Component 的分治之间的矛盾;
● Redux 的 Reducer 需要一层层手动组装,带来的繁琐性和易错性。
 
Fish Redux 的改良
Fish Redux 通过 Redux 做集中化的可观察的数据管理。然不仅于此,对于传
统 Redux 在使用层面上的缺点,在面向端侧 flutter 页面纬度开发的场景中,我们通
过更好更高的抽象,做了改良。
一个组件需要定义一个数据(Struct)和一个 Reducer。同时组件之间存在着父
依赖子的关系。通过这层依赖关系, 我们解决了【集中】和【分治】之间的矛盾,同
时对 Reducer 的手动层层 Combine 变成由框架自动完成,大大简化了使用 Redux
的困难。 我们得到了理想的集中的效果和分治的代码。
 
对社区标准的 follow
State、Action、Reducer、Store、Middleware 以上概念和社区的 ReduxJS
是完全一致的。我们将原汁原味地保留所有的 Redux 的优势。
 
Component
组件是对局部的展示和功能的封装。 基于 Redux 的原则,我们对功能细分为修
改数据的功能 (Reducer) 和非修改数据的功能 ( 副作用 Effect)。
于是我们得到了,View、 Effect、Reducer 三部分,称之为组件的三要素,分
别负责了组件的展示、非修改数据的行为、修改数据的行为。
这是一种面向当下,也面向未来的拆分。在面向当下的 Redux 看来,是数据管
理和其他。在面向未来的 UI-Automation 看来是 UI 表达和其他。
UI 的表达对程序员而言即将进入黑盒时代,研发工程师们会把更多的精力放在
非修改数据的行为、修改数据的行为上。
组件是对视图的分治,也是对数据的分治。通过逐层分治,我们将复杂的页面和
数据切分为相互独立的小模块。这将利于团队内的协作开发。
 
 
 
------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐