使用PCL进行跨平台项目中平台特定功能的项目架构

时间:2014-03-14 13:48:50

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

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

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

由于

2 个答案:

答案 0 :(得分:3)

一般方法是在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/

答案 1 :(得分:2)