在 ASP.Net MVC 2.0 的上下文中,如果已经有模型,任何人都可以解释为什么我们需要使用 DTO(数据传输对象)?我见过一个示例,其中 Web 服务将 DTO 返回到 asp.net,然后使用某个工厂类将其转换为 Model。此 Web 服务与数据库通信并以 DTO 的形式返回数据。
在我之前的项目中,我曾经使用数据上下文和存储库与 DB 进行通信,它们用于将模型对象返回给我的 Controller 。然后我就用来把这个模型传递给相应的 View 。这不是更简单吗?我无法找出 DTO 模式的确切用法。
最佳答案
模型表示您的 View 编码所依据的逻辑数据模型。这可能会也可能不会与数据源进行 1:1 的映射。在 Model == DTO 的情况下,我同意,DTO 有点多余。
在我使用 MVC 的大多数情况下,拥有单一数据源或缺乏将逻辑 View 与物理源分开的愿望是非常罕见的。例如,我经常调用多个服务和数据库来构建单个逻辑模型。
关于asp.net-mvc-2 - ASP.NET MVC中DTO的使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5176773/