Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用带有 MVVMLight 的 Uno-Platform 试图构建我的项目。我应该将特定于平台的代码放在 ViewModel 中吗?还是应该主要在 Utils/Services 中?
我建议将特定于平台的代码放在实用程序类或服务中。将该代码放在 ViewModel 中会使重用变得更加困难,并可能使 ViewModel 无法运行测试。
理想情况下,(不是强制性的)你会想要使用接口和依赖注入,为你想要支持的每个平台提供一个实现,并尝试为所有平台实现相同的接口。这样,您的 ViewModel 将没有#if PLATFORM_A代码。
#if PLATFORM_A
旁注,请记住 Uno 平台已经通过 UWP API 提供了许多平台抽象。像地理定位器,传感器等。