我正在使用Uno-Platform和MVVMLight来尝试构建我的项目。我应该将特定于平台的代码放在ViewModel中吗?或者它应该主要在Utils/Services中?
发布于 2020-07-16 11:24:42
我建议将特定于平台的代码放在实用程序类或服务中。将这些代码放在ViewModels中会使其更难重用,并可能使ViewModel无法对其运行测试。
理想情况下,(不是强制的)您将希望使用接口和依赖注入,为您希望支持的每个平台提供一个实现,并尝试为所有平台实现相同的接口。这样,您的ViewModel就不会有#if PLATFORM_A代码。
附注,记住Uno平台已经通过UWP提供了很多平台抽象。例如地理定位器、传感器等。
https://stackoverflow.com/questions/62921762
复制相似问题