1

我正在使用带有 MVVMLight 的 Uno-Platform 试图构建我的项目。我应该将特定于平台的代码放在 ViewModel 中吗?还是应该主要在 Utils/Services 中?

4

1 回答 1

1

我建议将特定于平台的代码放在实用程序类或服务中。将该代码放在 ViewModel 中会使重用变得更加困难,并可能使 ViewModel 无法运行测试。

理想情况下,(不是强制性的)你会想要使用接口和依赖注入,为你想要支持的每个平台提供一个实现,并尝试为所有平台实现相同的接口。这样,您的 ViewModel 将没有#if PLATFORM_A代码。

旁注,请记住 Uno 平台已经通过 UWP API 提供了许多平台抽象。像地理定位器,传感器等。

于 2020-07-16T03:24:42.017 回答