前言
对于Flutter在逐渐的熟悉,基本经历的几个阶段
- BLoC pattern 试着使用Dart语言的 Stream 去做些刷新处理(很多入门书也是这么说的)
- Provider 挺方便好用的库,正在使用
- Clean Architecture 正在想实践一波的东西,当然和看的《架构整洁之道》有关
- 随着不断的深入,发现怎么 ViewModel 爆炸了,Native时良好的Clean架构都没了。。。。。
- 就想着再分离出 domain、data 层来
- 《架构整洁之道》绝对要推荐一波,怎样去评价组件的好坏、组件的发展周期、SOLID重新回顾、引出 clean架构、编程几十年也不会变的编程范式
《架构整洁之道》
整本书看过一遍,但也难以完全理解,只能描述个一鳞半爪吧。下面是我的理解
- 你写的程序没有 UI,即便只是命令行 也应该可以跑起来
- MVC、MVVM、MVP,我们太看重View了,让View见鬼去吧,他们没多大价值。
- 我最钦佩的一段节选:
这个给我很大的感触,假设你写的 阅读软件,你的源代码看起来像 阅读软件吗?
听起来似乎很白痴的问题,但有多少的软件是 ***Activity, ***Page, ***Controller。 比如阅读的纠错需求,你是 CorrectPage、CorrectControlelr,CorrectModel。你有建立一套业务层吗? CorrectStrategy、CorrectHighlight。
简单说你的APP,有隔离出 业务层(domain layer)吗?业务层不应该和Flutter层等代码关联。
下一遍,讲下 Clean架构,和Clean架构的应用
原文:
Flutter实现Clean的一些参考 demo
- https://itnext.io/flutter-clean-architecture-b53ce9e19d5a (采用BLOC实现状态管理)
- https://medium.com/ruangguru/an-introduction-to-flutter-clean-architecture-ae00154001b0