我的大多数特定于平台的代码应该在MVVM中的什么位置?(在视图旁边)

我的大多数特定于平台的代码应该在MVVM中的什么位置?(在视图旁边),mvvm,mvvm-light,uno-platform,shared-project,Mvvm,Mvvm Light,Uno Platform,Shared Project,我正在使用Uno平台和MVVMLight来构建我的项目。 我是否应该将特定于平台的代码放在ViewModel中?还是应该主要在Utils/Services中?我建议将特定于平台的代码放在实用程序类或服务中。将该代码放在ViewModels中会使重用更加困难,并可能使ViewModel无法运行测试 理想情况下,(不是强制性的)您需要使用接口和依赖项注入,为您想要支持的每个平台提供一个实现,并尝试为所有平台实现相同的接口。这样,如果平台使用代码,则ViewModel将不会有 请记住,Uno平台已经通

我正在使用Uno平台和MVVMLight来构建我的项目。
我是否应该将特定于平台的代码放在ViewModel中?还是应该主要在Utils/Services中?

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

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

请记住,Uno平台已经通过UWP API提供了很多平台抽象。比如地理定位仪、传感器等