从网站性能的角度来看,DTO的优缺点是什么?
时间:2020-03-06 14:23:48 来源:igfitidea点击:
从网站性能的角度来看,DTO的优缺点是什么? (我说的是在与Web服务器不同的应用服务器上访问数据库,并且Web服务器可以直接访问数据库的情况。)
解决方案
DTO与性能无关。我认为我们要问的是分层对性能的影响。特别是,在Web层(Web服务器)和数据层(数据库服务器)之间使用应用程序层。
通常,其含义是延迟增加(我们需要进行额外的网络往返),但是通过在计算机之间分配负载可以获得一些额外的容量。
人们这样做的另一个常见原因(再次是非性能)是允许他们将Web服务器放置在DMZ中,同时将应用程序和数据库服务器保留在防火墙内。
另一个潜在原因(非性能)是能够将多个UI插入单个应用程序的顶部。我已经在过去的项目中取得了不错的成绩(业务需要的地方)。
另外,请不要低估维持这种性质的架构所需的工作。它比非分层解决方案要复杂得多,因此仅在预期需要时才使用它。
话虽如此,使用DTO并不一定要使用分层。
我发现的关于分层的最佳描述来自Martin Fowler的书《分析模式》。关于应用程序外观和分层,后面有一小节。
仅重申前面的答案,DTO并不是性能问题。这只是一个没有用于在应用程序的各个部分之间提供隔离的方法的类。
我还建议我们阅读Martin的另一本书《企业应用程序体系结构的模式》。 DTO"模式"在那里记录。