2008-09-18 37 views

回答

3

DTO's不是性能问题。我想你所问的是分层的性能影响。特别是在Web层(Web服务器)和数据层(数据库服务器)之间使用应用层。

通常,延迟会增加(您有额外的网络往返),但是通过在机器之间分配负载可以获得一些额外的容量。

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

另一个潜在的原因(非性能)是能够在单个应用程序之上插入多个UI。我已经在过去的项目上做过这些,并取得了很好的成果(业务需要它)。

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

这就是说,使用DTOs不需要使用分层。

我发现分层的最佳描述来自Martin Fowler的书籍Analysis Patterns。在应用程序外观和分层方面有一小部分。

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

我还建议选择Martin的另一本书“企业应用程序架构模式”。那里记录了DTO“模式”。

相关问题