• 初学者如何正确理解google官方建议架构原则(疑问?)


    前言

    最近花时间看了google 的Jetpack 架构组件,kotlin协程、flow。接着了google官方推荐应用架构指南,compose等。这些目是 目前主流应用开发采用的技术栈。我们项目中已经搭建起来了,但是自己理解的很浅,使用官网推荐的架构写起来心里总觉的没有使用MVP 写起来直来直去。但是这些才是未来应该掌握的技术栈,记录下疑惑的地方。

    1.标准数据驱动代码样式,和各个层的职责,各层之间如何进行关联。

    UI层

    Activity、Fragment中是否只放ui相关代码: ui相关代码指的是那些代码?

    是否是元素的显示隐藏,添加和移除。字体色值,图片样式,字体大小,是否正在刷新这些只和View 本身属性有关系的元素。

    viewModel 放入什么代码?起什么作用。

    比方说,登录界面中的 [条件检查逻辑],EditerText的 textChange逻辑,检查密码是否符合这样的判断逻辑也放进去吗?viewModel 中需要给界面暴露方法,这些方法是否需要suspend 修饰。

    网域层 (xxxUserCase)

    网域层放入什么类型代码,是否需要suspend修饰。对外暴漏什么样式代码。 网域层可以创建object class 单例类吗

    xxxxResp 存储库

    存储库拆分,如何理解存储库拆分,怎么拆分才是正确或者相对正确的。

    xxDataSource 数据源

    数据源在应用中只有,文件,数据库,内存,网络这些。 如果前期把这些定义了, 也就是四种数据源。 是否就应该这么定义

    NetDataSource ,DbDataSource ,FileDataSource DataStoreDataSource ,那么一个大型项目只定义这四种数据元,肯定是不够的,如何细分下去

    这是大面上来讲。

    工具库,widget 自定义布局,元素 , 通用网络请求逻辑,拆到那里?

    还有协程用法,也是一知半解。 协程嵌套用法, 使用协程发起的网络请求和普通网络请求之间怎么控制时序,那个先执行后执行另一个。并行执行,嵌套写法

    自己照葫芦画瓢写的协程嵌套代码,自己写起来就费劲,感觉越写越没底。主要是网络请求代码嵌套看起来并不优雅也不美观。

    各位看官有推荐的关于MvI架构,深入浅出的博客推荐不,

  • 相关阅读:
    痞子衡嵌入式:对比MbedTLS算法库纯软件实现与i.MXRT上DCP,CAAM硬件加速器实现性能差异
    Spring Security(1)
    C#线程 ConcurrentQueue安全队列介绍
    神舟通用数据库
    【前端】前端监控⊆埋点
    vue3学习源码笔记(小白入门系列)------ 组件更新流程
    我为什么更推荐你使用cmake编译grpc程序?
    发布的webservice缺少< wsdl:types/ >,< wsdl:message/ >标签
    Ubuntu16.04编译测试LVI_SAM过程
    三个目前主流的计算机视觉软件
  • 原文地址:https://blog.csdn.net/o279642707/article/details/125529816