【发布时间】:2018-01-04 19:39:08
【问题描述】:
如果我分配一些东西,任何东西,可以是 string 或 int,到 ViewData,我在视图中使用它。 ViewData 和 ViewBag 是否被视为 DTO?
您可以为它们分配一个对象,但您不必这样做。
这些是否有时被视为数据传输对象?
【问题讨论】:
-
这只是一个自以为是的问题,没有真正的价值。为放置在 ViewData/ViewBag 中的 C# 对象命名没有真正的编程价值。恕我直言,放置在 VD/VB 中的任何对象都不是 DTO,因为它不会跨越任何实际边界。
-
@ErikPhilips 我同意这样的对象不是 DTO,我已经写了一个答案,但发现可以讨论什么是实际的 DTO。有些人可能会发现它表示系统中任何类周围传递的任何数据结构。
-
@Gilles 你应该把它作为答案。这个问题具有编程价值,因为不是每个人都知道 DTO 是什么或如何识别它,以及它是反模式还是其他东西。在 SoftwareEngineering 上问这个问题可能会更好。
-
@johnny 我取消删除了我之前的答案并稍作修改。
标签: asp.net-mvc dto viewbag viewdata