【架构 Flutter实践 Clean架构 && TDD测试驱动开发---1.0】

本文介绍了作者在Flutter项目中应用Clean架构和TDD(测试驱动开发)的经验。首先,作者强调了《架构整洁之道》对理解Clean架构的重要性,然后分享了在实践中遇到的问题,如过度开发和依赖服务端。接着,详细阐述了TDD的三个阶段:编写错误测试、使测试成功、代码重构。此外,还提供了案例学习,包括目录结构、编写测试文件和Data Layer的实现。最后,提到了测试驱动开发的后续内容及相关资源链接。
摘要由CSDN通过智能技术生成

----------- 2022-11-12 补充 -----------
最近在开发中尝试用了clean架构,感觉就是 麻烦。。。太多模板代码,很容易过度开发。
我认为了解这些理念是很重要的,但应该跟随你的项目、流程 进行调整、裁剪。
如果你们的流程是 服务端出接口,然后召开接口会议,实际上就是在将 Data层的Module 变成 Domain层的entity (争执难免),当然你这样就相当于 依赖了服务端,而服务端是IO,显然违背了 Clean架构的依赖规范。
如果你的项目不是测试驱动开发,根本就没 自动化测试case,那你去划分 Local、Remote、Test 的DataSource也很蛋疼,因为我就是从云端拿数据。 当然了这就看你的项目了。
小吐槽下。
----------- end 2022-11-12 补充 -----------

前言

对于Flutter在逐渐的熟悉,基本经历的几个阶段

  1. BLoC pattern 严格的话太不方便了,当然结构很清晰
    • 需要写 Event、明确各种Status
    • 试着使用Dart语言的 Stream 去做些刷新处理(很多入门书也是这么说的)
  2. Provider 挺方便好用的库,正在使用
    • 很简单,写一个ViewModel,ViewModel改变时调用下 notifyListeners 方法就行了
  3. Clean Architecture 正在想实践Flutter侧的架构,当然也和阅读《架构整洁之道》有关
    • 随着不断的开发,发现 ViewModel 爆炸了,Native时良好的Clean架构都没了。。。。。
    • 就想着将逻辑从ViewModel中分出来

《架构整洁之道》绝对要推荐一波,他完美的满足需求,同时思想上大大超越的。
(怎样去评价组件的好坏、组件的发展周期、SOLID重新回顾、引出 clean架构、编程几十年也不会变的编程范式)
但看完后如何去实践,毕竟读过和真正懂得还是有很远的距离,在搜Media的时候看到了 如下的大神文章,从头开始教你实战 测试驱动开发、clean框架。
在这里插入图片描述
上图,clean架构的组件示意图。其组件依赖由外向内单向依赖。越靠近IO设备,越接近于外部。

《架构整洁之道》

抛砖引玉吧,下面是我感触比较深的地方

  1. 设计程序时,最好没有 UI,即便只是命令行 也应该可以跑起来
    • MVC、MVVM、MVP,我们太看重View了,让View见鬼去吧,他们没多大价值。
  2. 我最钦佩的一段节选:
    在这里插入图片描述
    有很大的感触,假设你写的 阅读软件,你的源代码看起来像 阅读软件吗?
    听起来似乎很白痴的问题,但有多少的软件是 ***Activity, ***Page, ***Controller。 比如阅读的纠错需求,你是 CorrectPage、CorrectControlelr,CorrectModel。你有建立一套业务层吗? CorrectStrategy、CorrectHighlight。

简单说你的APP,有隔离出 业务层(domain layer)吗?业务层不应该和Flutter层等代码关联。

翻译 大神文章

最后找到了, Flutter上的 TDD (Test-Drive Development)、Clean架构 相对好的,有完整代码记录的。
大神级文章 以下为翻译,同时我也加入自己的理解,尽量 信达雅吧。

TDD开发 (测试驱动开发)

涉及到库的依赖,看最后
在这里插入图片描述
分三个阶段

1. Write Error Test 编写错误测试
  • 第一步是 根据PRD(需求
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值