![]() |
1
3
DTO不是性能问题。我认为您要问的是分层对性能的影响。特别是,在Web层(Web服务器)和数据层(数据库服务器)之间使用应用层。 一般来说,这意味着延迟会增加(您有额外的网络往返),但您可以通过在不同的机器上拆分负载来获得一些额外的容量。 人们这样做的另一个常见原因(同样是性能不佳)是允许他们将Web服务器放置在DMZ中,同时将应用程序和数据库服务器保留在防火墙内。 另一个可能的原因(性能不佳)是能够在一个应用程序上插入多个UI。我在过去的项目中做了这些工作,取得了很好的效果(在业务需要的地方)。 另外,不要低估维护这种性质的架构所需的工作。它比非分层解决方案更有效,因此只有在您预期需要时才使用它。 也就是说,使用DTO并不需要使用分层。 关于分层的最好描述来自马丁·福勒的书《分析模式》。在应用程序正面和分层的背面有一个小部分。 只是重申前面的答案,DTO不是性能问题。它只是一个没有方法的类,用于在应用程序的各个部分之间提供隔离。 我还建议学习马丁的另一本书《企业应用程序体系结构模式》。这里记录了DTO“模式”。 |