正如我所理解的那样,我们可以说3层架构意味着每个关注点的单独项目。 UI层,业务层和数据层。 UI与BL和BL对话与DB对话,反之亦然。这对于可维护性和分离关注点的想法是合理的。但另一方面,层级与层不同。即,层与机器/网络直接相关。我的意思是当我们说2层时,它通常是客户端机器和数据库服务器机器。当我们说3层时,它通常是客户机,应用服务器机和数据库服务器机。因此,就这些信息而言,开发使用3层架构的双层应用程序是可能的。
到目前为止,我已经使用了3层,但现在是时候决定我们是应该开发3层还是2层。现场将有Windows窗体项目,大约150个客户端和100个手持终端将使用Windows窗体项目并通过Web服务进行通信。在手持终端中,很明显最好的解决方案是使用三层但是对于将在Windows 7上运行的Windows客户端,很难决定我们是应该通过一个应用服务器与数据库通信还是直接连接到数据库。
这里的主要问题是3层架构超过2层的好处是什么。对我来说,还有一层意味着需要一个服务器/主机/机器一直需要启动和运行,这可能是开销。
请指导我们选择最佳层架构。
答案 0 :(得分:0)
让我们说你有这个组件:
UI
,Common
,Biz
,DAL
在2层或3层应用程序开发中,您在UI
和Common
,client
,Common
上部署Biz
和DAL
{ {1}}(注意公共部署在两者上)并尝试通过server
或.Net Remoting
连接您的BIZ
最后,DB可以在服务器或其他服务器上进行最后一层。
我希望这会有所帮助
答案 1 :(得分:0)
如果您要在Application Server上执行一些主要任务(否则会消耗可用于运行数据库平台的资源),我建议您使用“3层”(客户端,应用程序服务器和数据库服务器) 。例如,在应用程序(业务层)和数据库服务器(数据层)之间运行的连接池或连接管理软件。