3层Winform应用程序

时间:2010-07-14 09:14:52

标签: c# winforms visual-studio-2005

我有一个大学项目,我想做3层Winform应用程序,所以我只需要在一个地方(即服务器)更新我的应用程序。有人有关于如何做到这一点的建议吗?我必须使用客户机和一台相当不错的服务器。我希望服务器容纳数据库和业务逻辑,并希望客户端机器成为瘦客户端。

2 个答案:

答案 0 :(得分:1)

尝试查看CSLA.NET Framework,它是一种面向用例的实现业务逻辑的方法。附带UI绑定,网络通信和其他功能,如无限制的撤销直接。

还附带一本书,教你如何使用它 - 值得一读。这是一个非常好的框架并且仍然活跃 - 尽管像我一样,你可能会发现它与你通常编程的方式有所不同。

网络功能允许您托管应用服务器,但该部分对UI是透明的。它坚持n层的想法,但方式略有不同。

答案 1 :(得分:1)

像往常一样写你的winform(不是很瘦的客户端)。我们称它为薄,因为它不会任何繁重的工作,只是UI逻辑。而不是引用您的业务和数据程序集,创建一个您将从winforms应用程序引用的代理类。然后代理将具有与后端通信的实现,并且您的前端将不知道通信如何发生。然后在单独的项目中创建一个Service Contract类(将接口暴露给前端)。代理商将使用此合同。

由于您在VS2005中,我假设您安装了.net framework 3.0扩展,但不是3.5。您可以使用WCF与后端服务器进行通信,您的接口将在这些服务器上被代理调用。

如果你想远离WCF,你也可以使用.net远程处理,但配置可能有点困难,而且它通常不是WCF的首选传输机制。

所以它看起来像这样:

客户层
Winform

代理

业务层
服务合同

业务组件

数据访问

数据库层
数据库

Here is a article有点描述了这种模式。