为两个功能与MVVM相似的片段清理架构



我正在Kotlin开发一个有用户配置文件的android应用程序,我正在尽最大努力使用MVVM进行尽可能干净的编码。在处理负责更新用户配置文件的部分时,我注意到模型(POJO(、视图模型和片段本身与负责注册用户的部分有90%相似。我的问题是我应该选择什么设计以及为什么:

  1. 将两个动作分开,尊重单一责任原则,但有很多重复代码
  2. 将它们合并为一个单独的操作(一个视图模型、模型和片段(,并添加一些额外的if

或者还有其他方法吗?也许有接口?继承?应该如何实现这一点?

MVVM有三个强大的部分用于干净的方式编码。视图-模型-视图模型

  1. 您的片段将被VIEW用于显示配置文件并从用户处执行操作
  2. ViewModel将用于计算或操作配置文件数据
  3. 模型/报告用于从服务器/存储生成/获取配置文件数据

碎片<->ViewModel<->回购/模型

使用继承将公共代码保留在basefragmet/viewmodel中。所以你有:

UserProfileUpdateFragment->UserProfileFragmentUserProfileRegisterFragment->UserProfileFragment

UserProfileUpdateVM->UserProfileVMUserProfileRegisterVM->UserProfileVM

最新更新