首页 > 解决方案 > Xamarin Forms:使用 Prism 和/或 ReactiveUI,是否可以实现垂直切片?

问题描述

我已经在一个移动应用程序上工作了一周,用于个人教育和增强。我有一些 WPF 和 MVVM 经验,我没有移动开发经验。

这个想法是制作一个跨平台的应用程序,同时测试一些编码理念:

我计划使用以下组件:

我的 Visual Studio 的当前结构如下:

我管理了以下内容:

一个问题是,尽管我看过一些关于垂直切片的文章,但大部分都是关于 Web 应用程序的。

那么问题来了:垂直切片适用于移动应用吗?

我想通过使用垂直切片来重组我的项目,但是很难找到有关 Xamarin Forms 的文章,我感到不安。

编辑:我对垂直切片概念的理解是,您应该将与功能相关的代码分组在同一个物理空间(文件夹)中。通过这样做,它为开发人员提供了有关这些文件内聚性的巨大提示。

鉴于移动应用程序是由屏幕组成的,我假设按屏幕对代码进行分组,而不管它们的类型(表示、逻辑、持久性)如何都是有意义的。

重写应用程序将给出以下 csproj,然后:

添加新屏幕意味着将新文件夹添加到“屏幕”文件夹,从而降低修改现有文件/逻辑的风险。

标签: c#xamarin.formsarchitectureprismreactiveui

解决方案


垂直切片有点像我们在 Xamarin.Forms 上使用的 MVVM: https ://docs.microsoft.com/en-us/xamarin/xamarin-forms/enterprise-application-patterns/mvvm 视图是 UI 层,视图模型帮助您处理逻辑代码,模型代表您的数据库数据。

例如,用户单击视图层上的按钮以触发视图模型中的命令。然后此命令可以将新产品添加到该视图模型的 List 属性。由于此列表属性已更改,它将通知 UI 响应此操作。

此外,您的第一个架构更合适:

  • 视图模型
    • 创建ExercisePageViewModel
    • 主页视图模型
  • 意见
    • 创建练习页
    • 主页

使您的页面由您的视图模型分隔。


推荐阅读