2009-04-23 89 views
1

我们正在考虑两层应用程序。然而,稍后我们可能想将其转换为三层应用程序。有没有任何设计模式/框架/技术有帮助? 考虑两层的主要原因是:后来可以修改为三层应用程序的两层应用程序

1)单低端台式机可用于运行该应用程序。

2)目前只有一个用户。

3)应用程序需要在没有网络连接的远程位置运行。

我们的想法是在没有连接的情况下将应用程序部署为两层,并在存在连接的情况下将其用作三层。

+0

我想到的一个选择是使用Silverlight/WPF + .NET(ADO.NET)。将其作为独立应用程序运行或部署在服务器上。这种方法是否存在挑战限制? (我基本上是一个java人;对.NET技术不太熟悉) – 2009-04-23 06:46:17

回答

1

你还没有说你的开发平台是什么,所以我会假设.NET,这让我有我自己的经验:-)

我有同样的经历,这是我解决了谢谢回答.NET远程处理的灵活性。

在构建应用程序时,请考虑将放置在服务器上的应用程序的各个部分,如果它理论上是作为客户机服务器应用程序实现的。将所有这些类放入单独的库中,并将您的客户端应用程序直接链接到此库。

当您想切换到客户端服务器时,可以使该库由Windows服务器托管,并适当地配置客户端和服务器。

当然,我在这里遗漏了大量的细节(MarshalByRef对象,可序列化的对象,可以配置通信的大量方法),而且我可能会讨论已经变得冗余的功能由WCF。

但问题是,将业务逻辑/数据访问层隔离到由客户端应用程序托管的单独DLL中,然后再处理切换到客户端服务器是非常可行的。

+0

我对任何开发平台(Micorsoft堆栈 - Silverlight/WPF/.NET,Flex/AIR,Swing/J2EE)都是开放的 – 2009-04-23 04:42:24