据我所知,我们可以说 3 层架构意味着每个关注点都有单独的项目。那些UI层、业务层和数据层。UI 与 BL 对话,BL 与 DB 对话,反之亦然。这有利于可维护性,并且关注点分离的想法是合理的。但另一方面,层与层不同。即,层与机器/网络直接相关。我的意思是,当我们说第二层时,它通常是客户端计算机和数据库服务器计算机。当我们说三层时,通常是客户端计算机、应用程序服务器计算机和数据库服务器计算机。因此,根据这些信息,开发使用 3 层架构的两层应用程序是可能的。

到目前为止,我已经使用了 3 层,但现在是时候决定我们应该在 3 层还是 2 层中开发了。现场将有 Windows 窗体项目,大约 150 个客户端和 100 个手持终端将使用 Windows 窗体项目并通过 Web 服务进行通信。在手持终端中,显然最好的解决方案是使用三层,但对于将在 Windows 7 上运行的 Windows 客户端,很难决定是应该通过一台应用程序服务器与数据库通信还是直接连接到数据库。

这里的主要问题是 3 层架构相对于 2 层架构的优势是什么。对我来说,多一层意味着多一台服务器/主机/机器需要一直启动并运行,这可能会产生开销。

请指导我们选择最佳层架构。

有帮助吗?

解决方案

如果您要在应用程序服务器上执行一些主要任务,否则会消耗可用于运行数据库平台的资源,那么我只建议使用“3 层”(客户端、应用程序服务器和数据库服务器)。例如,在应用程序(业务层)和数据库服务器(数据层)之间运行的连接池或连接管理软件。

其他提示

假设您有以下组件:UI, Common, Biz, DAL

在 2 层或 3 层应用程序开发中,您部署 UICommonclientCommon, Biz , DALserver (注意两者都部署了通用)并且您尝试通过以下方式连接您的 BIZ .Net Remoting 或者 WCF最后,数据库可以位于最后一层的服务器或其他服务器上。

我希望这有帮助

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top