代码之家  ›  专栏  ›  技术社区  ›  hawkeye

从网站性能的角度来看,DTO的优点和缺点是什么?

  •  2
  • hawkeye  · 技术社区  · 16 年前

    从网站性能的角度来看,DTO的优点和缺点是什么?(我说的是在不同的应用服务器上访问数据库到Web服务器的情况下,Web服务器可以直接访问数据库。)

    1 回复  |  直到 16 年前
        1
  •  3
  •   therealhoff    16 年前

    DTO不是性能问题。我认为您要问的是分层对性能的影响。特别是,在Web层(Web服务器)和数据层(数据库服务器)之间使用应用层。

    一般来说,这意味着延迟会增加(您有额外的网络往返),但您可以通过在不同的机器上拆分负载来获得一些额外的容量。

    人们这样做的另一个常见原因(同样是性能不佳)是允许他们将Web服务器放置在DMZ中,同时将应用程序和数据库服务器保留在防火墙内。

    另一个可能的原因(性能不佳)是能够在一个应用程序上插入多个UI。我在过去的项目中做了这些工作,取得了很好的效果(在业务需要的地方)。

    另外,不要低估维护这种性质的架构所需的工作。它比非分层解决方案更有效,因此只有在您预期需要时才使用它。

    也就是说,使用DTO并不需要使用分层。

    关于分层的最好描述来自马丁·福勒的书《分析模式》。在应用程序正面和分层的背面有一个小部分。

    只是重申前面的答案,DTO不是性能问题。它只是一个没有方法的类,用于在应用程序的各个部分之间提供隔离。

    我还建议学习马丁的另一本书《企业应用程序体系结构模式》。这里记录了DTO“模式”。

    推荐文章