【问题标题】:Developing application with three layers and two tier [closed]用三层和两层开发应用程序[关闭]
【发布时间】:2014-04-12 13:32:36
【问题描述】:

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

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

这里的主要问题是 3 层架构比 2 层有什么好处。对我来说,多一层意味着多一台服务器/主机/机器需要一直启动并运行,这可能是开销。

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

【问题讨论】:

    标签: c# windows layer three-tier


    【解决方案1】:

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

    【讨论】:

    • 好的,谢谢您的信息。如今,连接池由 ADO.Net 和 SQL Server 管理,并且由于我们在每台客户端计算机上运行的版本升级工具,这种规模可能不需要 3 层。再次感谢
    【解决方案2】:

    假设您有以下组件: UICommonBizDAL

    在 2 层或 3 层应用程序开发中,您在 clientCommonBizDAL 上部署 UICommon server(注意 common 部署在两者上)和您尝试通过 .Net RemotingWCF 连接您的 BIZ 最后,DB 可以在最后一层的服务器或其他服务器上。

    希望对你有帮助

    【讨论】:

    • 我理解你,但这是将应用程序部署到层的方式。选择两层和三层架构的最佳方式是什么。
    猜你喜欢
    • 2012-09-12
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多