【问题标题】:Project architecture for plateform specific functions in cross-platform project with PCL具有 PCL 的跨平台项目中平台特定功能的项目架构
【发布时间】:2014-04-19 20:31:05
【问题描述】:

我目前正在使用 Xamarin 和出色的 MvvmCross 平台开发跨平台应用程序。我想知道如何设计我的解决方案(项目架构),以便它包含特定于平台的功能(PCL 中的接口等)。

例如,如果我想实现读取文件,我应该在PCL中创建什么样的接口?我应该遵循哪些其他良好做法?还有其他方法吗?

谢谢

【问题讨论】:

  • 对于文件 IO,您可以考虑我的 PCL 存储库,它已经为您创建了接口/实现:pclstorage.codeplex.com

标签: c# xamarin mvvmcross portable-class-library


【解决方案1】:

一般的方法是在 PCL 中定义您的接口,它可以在不同的平台上使用,然后具有实现这些接口的特定于平台的库。

在每个平台的不同应用程序中,然后将这些接口连接到正确的实现。然后,您可以在代码中的任何位置依赖 PCL 中定义的接口。在运行时,将传递正确的平台特定实现。

我写了两篇有用的博文(它们是关于 Win8 和 WinPhone 之间的共享,但适用相同的概念):

http://www.kenneth-truyers.net/2013/02/24/patterns-for-sharing-code-in-windows-phone-and-windows-8-applications/

http://www.kenneth-truyers.net/2013/03/27/portable-class-libraries-or-source-code-sharing/

【讨论】:

  • 谢谢你的例子:)
【解决方案2】:

专门针对 MvvmCross:

【讨论】:

    猜你喜欢
    • 2012-09-11
    • 2016-12-30
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    相关资源
    最近更新 更多