草庐IT

Flutter通用基础框架设计思想

Flutter基础框架_插件式 2023-03-28 原文

# Flutter通用基础框架

#### Flutter基础框架设计特点

1、代码轻量级

2、快速开发、学习门槛低、API文档、Flutter基础框架例子APK

3、采用DDD领域驱动设计思想

4、对各个模块解耦,不强依赖第三方库

5、第三方库可以自由搭配组装,方便替换,大量API提供上层调用可以快速开发

6、系统分层、页面等代码采用标准化开发流程比如:网络请求、页面编写过程、UI层等

7、配置插件的方式进行开发,每个组件,插件可以配置,比如:每一个页面都是通过配置的形式:包括,文字,图片,背景颜色,实现动态可配,方便后期页面插件、组件通用实现持续复利的价值

8、ui代码和业务代码进行剥离,UI代码可配到服务器,将来修改ui只需要修改服务器ui配置

9、页面模版拷贝的方式进行开发,直接Copy一个模版页面组内成员按照这种模式去开发,统一代码开发规则,优势提高人力资源效率

10、模块细分随意组装

11、支持高人力成本向低人力成本转移,后期持续建立界面形式生成项目基础代码

12、支持建立自身的业务中台、时间维度看可以增加企业护城河

#### 功能层面

1、页面标题栏配置化

2、配置方式启动插件(参数可调配)

3、常用界面基类。及其通用界面,和其他有大量的基类

4、动态构建属性页面

5、插件组件和函数注册中心

6、制作插件化标准化流程(解释标准化流程好处:因为简单,高效(复杂的东西简单化),快捷,可学习,可传承,可复制,可持续发展,碰到新的东西需要提炼出最优的流程,越简单越好)

编写插件步骤:1:拷贝 2:修改名称 3:注册 4:增加SQL脚本

7、常用值、颜色、尺寸通用设计呈现统一效果

#### 网络层功能设计特点

1、系统自处理服务器返回的错误

2、聚合处理网络层过来的请求,统一分发处理结果

3、封装的好处修改了网络层不需要修改ui层和业务层

4、返回的数据耗时的逻辑处理在异步里面做处理,解决卡顿问题,支持多次网络请求封装成一次请求返回

5、代码统一的封装性

6、支持自动输出网络信息日志

7、支持网络、业务错误快速定位

8、进度条自动控制,可手动控制

9、登陆安全认证token方式

10、调试模式配置,Log类配置是否开启调试模式

#### Bas层功能设计特点

1、下拉刷新分页工具类计算以及刷新控件

2、兼容本地和网络图片加载控件

#### Ctrl层功能设计特点

1、通用登录、注册、个人中心、忘记密码、重置密码、PDF浏览、webview通用页面

2、通用界面+业务(支持配置的形式参数可以传入进来比如:CtrlCardData.dart)+网络请求+配合ZpubUi层共同设计

#### 软件分层图

#### 软件分层图视频解释

https://www.bilibili.com/video/BV1Ev4y1w7kZ/

#### API界面效果图

#### 使用说明

1. 依赖在ZPubNew

#### 常见问题

Flutter的SDK需要升级到3.0最新版本

#### 参考手册

#### 常用下载

有关Flutter通用基础框架设计思想的更多相关文章

  1. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  2. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  3. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  4. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  5. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  6. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  7. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

  8. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  9. ruby-on-rails - 设计注册确认 - 2

    我在我的项目中有一个用户和一个管理员角色。我使用Devise创建了身份验证。在我的管理员角色中,我没有任何确认。在我的用户模型中,我有以下内容:devise:database_authenticatable,:confirmable,:recoverable,:rememberable,:trackable,:validatable,:timeoutable,:registerable#Setupaccessible(orprotected)attributesforyourmodelattr_accessible:email,:username,:prename,:surname,:

  10. ruby-on-rails - 设计通过 reset_password_token 获取用户 - 2

    我正在尝试创建密码规则来设计可恢复的密码更改。我通过passwords_controller.rb做了一个父类(superclass),但我需要在应用规则之前检查用户角色,但我所拥有的只是reset_password_token。 最佳答案 假设您的模型是用户:User.with_reset_password_token(your_token_here)Source 关于ruby-on-rails-设计通过reset_password_token获取用户,我们在StackOverflow

随机推荐