【问题标题】:3 tier 3 layer architecture3层3层架构
【发布时间】:2011-07-30 18:15:48
【问题描述】:

三层架构和三层架构有什么区别?

【问题讨论】:

标签: architecture


【解决方案1】:

3 层:

  • 表示层
  • 业务层
  • 数据层

层:

代码的逻辑分离

三层架构:

如果所有三层都部署在单个系统中,那么它在 3 层架构

我们也可以说它是单层架构,因为所有 这些层部署在单个系统中。

层级:

代码的物理分离

3 层架构:

如果所有三层都部署在三个不同的系统中,那么它 采用 3 层架构

但我们不能说它是 3 层架构,因为它是 物理分离

【讨论】:

    【解决方案2】:

    在构建网站时,您需要考虑在网站运营的每个级别需要多少计算能力和内存。您还需要考虑站点的安全性、可扩展性和可管理性。出于这个原因,最好将您的站点构建为单独的应用程序部分,作为共享解决方案一起工作。

    什么是层: 一层只是运行在同一台服务器上的应用程序划分(或不同的应用程序)。

    什么是层级: 层引用作为整个站点或解决方案一部分的应用程序在不同的服务器(或机器)上运行的事实。在这种情况下,您不能在同一台机器上托管多个层,因为根据定义,层是一台单独的机器。可视化(像 VMware 或 Hyper-V 这样的管理程序可以模糊这条线,但为了清楚起见,我们暂时忽略它们)

    为什么需要考虑这个? 您的整个网站或解决方案的某些方面在同一台机器上运行良好,而其他方面则不行。一个很好的例子是,随着站点的增长,数据访问层 (DAL) 和数据库 (DB) 使用它们的处理和内存的方式与表示层(PL 或 GUI - 通用用户界面)和业务逻辑层 (BL) 不同。此外,您还希望 DAL 和 DB 端有更高的安全性,以确保数据不被篡改。

    LAYERS 和 Tiers 之间的重叠: 您可以在一层(机器)上运行多个层。开始一个网站在一台服务器上运行大部分功能,然后随着网站的增长和添加更多功能而将其分解是很常见的。在同一层上运行表示层和业务逻辑层也很常见。但是,当您向 BL 层添加规则时,以及随着事情变得更加复杂,您希望拥有一个允许您在需要时将层移动到另一台服务器(或层)的站点。

    希望这会有所帮助!如果您最喜欢答案标记,请。

    【讨论】:

      【解决方案3】:

      在架构中,层与“平台”层相关(sql server 是数据层,iis 是 Web 层),层与逻辑层(表示层、业务层、数据访问层、数据层)相关。

      层和层之间存在重叠(例如,您可以将数据层部署到数据层)。您可以选择在同一台机器上托管多个层,而不会影响架构。组合层违反了 3 层架构。

      关系是您在层上部署层。在 UML 中,这是在部署视图中建模的。

      【讨论】:

        猜你喜欢
        • 2011-09-30
        • 2010-12-09
        • 2012-07-21
        • 2011-04-19
        • 2012-07-05
        • 2011-02-06
        • 2019-03-07
        • 2011-06-02
        • 2012-03-12
        相关资源
        最近更新 更多