# flutter_framework **Repository Path**: stephencmz/flutter_framework ## Basic Information - **Project Name**: flutter_framework - **Description**: No description available - **Primary Language**: Dart - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-04-08 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # flutter_framework **一个mvp通用App框架** #### MVP模式: MVP 全称 Model-View-Presenter, 是从经典的模式MVC演变而来:Presenter负责逻辑的处理,Model提供数据,View负责显示。 ##### 原理: ![mvp.png](mvp.png) ##### 优点: 1. 模型与视图完全分离,修改视图而不影响模型 2. 可以更高效地使用模型,因为所有的交互都发生在一个地方——Presenter内部 3. 可以将一个Presenter用于多个视图,而不需要改变Presenter的逻辑。这个特性非常的有用,因为视图的变化总是比模型的变化频繁。 4. 如果把逻辑放在Presenter中,那么就可以脱离用户接口来测试这些逻辑(单元测试) ##### 缺点: 1. 由于对视图的渲染放在了Presenter中,所以视图和Presenter的交互会过于频繁 2. 如果Presenter过多地渲染了视图,往往会使得它与特定的视图的联系过于紧密 3. Presenter和View&Model是通过接口进行交互,所以会增加一定的代码量 #### 框架目录: |- tools |- plugin |- 网络 |- 数据库 |- 文件 |- ... |- manager |- network |- database |- file |- ... |- utils |- pay |- share |- count |- cache |- ... |- res |- images |- fonts |- ... |- MVP |- base |- global |- static |- config |- widget |- module |- splash |- update |- account |- ...