当前位置:   article > 正文

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

flutter clean architecture

----------- 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(需求
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/710075
推荐阅读
相关标签
  

闽ICP备14008679号