在通用应用程序和windows桌面应用程序之间共享业务对象的最佳方式

本文关键字:应用程序 对象 业务 共享 最佳 方式 桌面 windows 之间 | 更新日期: 2023-09-27 17:59:58

我的项目中有一个包含所有业务对象的windows应用程序。这些只是POCO实体。这些业务对象是通过各种其他项目访问的,如web服务、业务层等

现在我正在为windows商店应用程序和windows手机构建一个通用应用程序,我遇到了一个问题,因为我看不到如何从我的windows桌面应用程序共享现有的业务对象。

我想我可以在我的共享项目(windows和windows phone应用程序之间共享的库/项目)中创建一个文件夹,并简单地添加相关的POCO类作为参考"链接",但这似乎是允许的。

然后我想我应该创建一个新的共享PCL项目,并再次尝试从我的windows桌面应用程序中添加对这些POCO类的"链接"引用,但我不被允许将这些文件"链接"到该项目。我只能添加和复制。

我显然不想有两个这样的副本,因为如果这些POCO类中的任何一个不同步,只会导致问题。

我唯一的选择是建立一个PCL库并将这些POCO类添加到其中,然后从我的windows桌面应用程序中删除现有的类并将PCL文件引用到它,还是有一种方法可以链接这些类而不必复制它们?

谢谢。

在通用应用程序和windows桌面应用程序之间共享业务对象的最佳方式

在所有平台上共享库的唯一方法是它们是PCL;任何东西都可以引用PCL库。要有这个实用程序,PCL库不能绑定到平台细节,所以它们只能引用其他PCL库;这就是为什么您不能从PCL引用包含POCO的Windows程序集。因此,您的业务对象需要进入PCL,以便通过跨多个平台类型的项目引用获得它们。如果您的业务对象是,正如您所说的,POCO,那么将它们容纳在PCL中应该没有问题。