从网站性能角度来看,DTO有哪些优点和缺点?
问题描述:
从网站性能角度来看,DTO有哪些优点和缺点? (我在谈论数据库在不同的应用程序服务器上访问Web服务器的情况 - 而Web服务器可以直接访问数据库。)从网站性能角度来看,DTO有哪些优点和缺点?
答
DTO's不是性能问题。我想你所问的是分层的性能影响。特别是在Web层(Web服务器)和数据层(数据库服务器)之间使用应用层。
通常,延迟会增加(您有额外的网络往返),但是通过在机器之间分配负载可以获得一些额外的容量。
人们会这样做的另一个常见原因(也是非性能)是允许他们将Web服务器放在DMZ中,同时将应用程序和数据库服务器放在防火墙内。
另一个潜在的原因(非性能)是能够在单个应用程序之上插入多个UI。我已经在过去的项目上做过这些,并取得了很好的成果(业务需要它)。
另外,不要低估维护该性质架构所需的工作。它比没有分层的解决方案更有用,所以只有在您预期需要时才使用它。
这就是说,使用DTOs不需要使用分层。
我发现分层的最佳描述来自Martin Fowler的书籍Analysis Patterns。在应用程序外观和分层方面有一小部分。
只是为了重申以前的答案,DTO不是性能问题。这只是一个没有用于在应用程序的各个部分之间提供隔离的方法。
我还建议选择Martin的另一本书“企业应用程序架构模式”。那里记录了DTO“模式”。
DTO代表什么? – GateKiller 2008-09-18 22:13:49