​三种架构在Flutter中的尝试

1897次阅读  |  发布于4年以前

场景说明

功能简介

一个常见的"评价列表页",点击"评价列表页"中的任意一项跳转进入"评价详情页"。在"评价详情页"我们可以看到该评论完整的评价内容和评价大图,同时"评价列表页"和"评价详情页"都带有分享和点赞的功能。

MVC架构

架构视图

工程结构

搭建步骤

以评论中的点赞操作为例

1.


2.


3.


4.

MVP架构


架构视图

工程结构

以"评价列表页”为例,comment_list.dart实现了comment_list_iview.dart中的接口(如 onZanValueUpdate方法)而comment_list_presenter.dart实现了requestZan等异步方法。

搭建步骤

以评论中的点赞操作为例

1.


2.


3.

Redux架构

架构视图

工程结构

搭建步骤

以评论中的点赞操作为例

1.


2.


3.


4.

总结


  1. 在多界面互动的场景下(比如"评价详情页"通过手动点赞,使得该评论的点赞数增加1,那么"评价列表页"相应的这条数据的点赞数也要增加1),Reudx的状态管理有天然的优势,而且Redux中的distinct属性也支持按条件的局部数据刷新。
  2. 在单独界面的场景下,推荐MVP,它的上手速度会比Redux快的多。
  3. Talk is cheap, Show me the code

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8