2010-07-14 82 views
1

我有一个大学项目,我想作为3层Winform应用程序来完成,因此我只需要在一个地方(即服务器)更新我的应用程序。有没有人有建议如何做到这一点?我必须使用客户机和相当好的服务器。我希望服务器能够容纳数据库和业务逻辑,并希望客户机成为瘦客户机。3级Winform应用程序

回答

1

写下你的winform(虽然不是一个瘦客户端),就像你平常那样。我们将它称之为瘦,因为它不适用于任何繁重的工作,只是UI逻辑。而不是引用您的业务和数据程序集,创建一个代理类,您将从您的winforms应用程序引用。然后,代理将执行与后端交谈,并且您的前端将不知道通信如何发生。然后在一个单独的项目中创建一个服务契约类(它将把接口展示给前端)。代理将使用此合约。

既然你在VS2005中,我假设你已经安装了.net framework 3.0扩展,但不是3.5。您可以使用WCF与后端服务器进行通信,其中您的接口将暴露给代理调用。

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

因此,这将是这样的:

客户层
WinForm的

代理

业务层
服务合同

业务组件

数据访问

数据库层
数据库

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

1

尝试查看CSLA.NET框架,这是一个用例实现业务逻辑的方式。随着UI绑定,网络通信和其他功能,如无限制的撤消直出锡。

还附带一本书,教你如何使用它 - 值得一读。这是一个非常好的实施框架,并保持活跃 - 尽管像我一样,你可能会发现它与你通常编程的方式有点转变。

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