09 fish_redux-3
onNotify
中的setState
更新UI
是不是有很多对象很陌生?
确实 fish_redux
的整体流程更加复杂,内部的 ContxtSys
、Componet
、ViewSerivce
、 Logic
等等概念设计,这里因为篇幅有限就不详细拆分展示了,但从整个流程可以看出 fish_redux
从控件到页面更新,全都进行了新的独立设计,而这里面最有意思的,莫不过 dependencies
。
如下图所示,得益于fish_redux
内部 ConnOpMixin
中对操作符的重载,我们可以通过 DoubleCountConnector() + DoubleCountComponent()
来实现Dependent
的组装。
Dependent
的组装中 Connector
会从总 State 中读取需要的小 State 用于 Component
的绘制,这样很好的达到了 模块解耦与复用 的效果。
而使用中我们组装的 dependencies
最后都会通过 ViewService
提供调用调用能力,比如调用 buildAdapter
用于列表能力,调用 buildComponent
提供独立控件能力等。
可以看出 flutter_redux
的内部实现复杂度是比较高的,在提供组装、复用、解耦的同时,也对项目进行了一定程度的入侵,这里的篇幅可能不能很全面的分析 flutter_redux
中的整个流程,但是也能让你理解整个流程的关键点,细细品味设计之美。
学员评价