据我了解,我们可以说 3 层架构意味着每个关注点的单独项目。那些 UI 层、业务层和数据层。UI 与 BL 对话,BL 与 DB 对话,反之亦然。这有利于可维护性,并且关注点分离的想法是合理的。但另一方面,层与层不同。也就是说,层与机器/网络直接相关。我的意思是当我们说 2 层时,它通常是客户端机器和数据库服务器机器。当我们说 3 层时,一般是客户端机器、应用服务器机器和数据库服务器机器。因此,根据这些信息,开发使用 3 层架构的两层应用程序是可能的。
到目前为止,我已经使用了 3 层,但现在是时候决定我们应该使用 3 层还是 2 层进行开发了。现场将有 windows 窗体项目,大约 150 个客户端和 100 个手持终端将使用 windows 窗体项目并通过 Web 服务进行通信。在手持终端中,显然最好的解决方案是使用三层,但是对于将在 Windows 7 上运行的 Windows 客户端,我们很难决定是通过一台应用服务器与数据库通信还是直接连接到数据库。
这里的主要问题是 3 层架构比 2 层有什么好处。对我来说,多一层意味着多一台服务器/主机/机器需要一直启动并运行,这可能是开销。
请指导我们选择最佳层架构。