我正在将应用程序(ERP系统)迁移到.NET。该应用程序分布在2个Windows窗体应用程序上:一个在服务器端,一个在客户端。这两个应用程序都是.NET。我将在Microsoft WCF技术上阅读很多内容,并且我打算使用它来在层之间传输数据。
现在,为了共享客户端和服务器,我计划使用ADO.NET DataSet。我在读这个并知道这不是推荐的方法。我应该使用类似强类的东西。但是使用这种方法,例如,如果我显示销售报告(来自存储过程),我必须在客户端和服务器端创建一个包含查询中所有列的类。所以,如果我需要添加一个新列,我需要修改存储过程,并修改客户端和服务器代码!
如果我返回一个数据集,客户端不需要知道包含哪些数据集,只需要知道如何显示它,而业务层只需要知道如何从数据库中提取数据以及如何传输到客户端?
我在这里遗漏了什么吗?谢谢!
答案 0 :(得分:1)
如果可以,您应该尝试将所有业务逻辑集中到服务后端,并将所有Windows窗体视为纯UI,以通过WCF访问后端。使用DataSet似乎可以帮助添加新列而不会出现问题,但大多数情况下,新列也会出现某种形式的逻辑。因此,我建议改用POCO。
您可能需要在此处参考分层架构中通过WCF调用服务后端的Winforms示例 http://layersample.codeplex.com/
您还可以在此处阅读有关分层架构的更多信息 http://serena-yeoh.blogspot.com/2013/06/layered-architecture-for-net.html