gpt4 book ai didi

c# - 数据传输对象(DTO)和哑业务对象之间的区别?

转载 作者:太空宇宙 更新时间:2023-11-03 22:20:37 24 4
gpt4 key购买 nike

我在我的应用程序中使用了愚蠢的业务对象。只是使用 DTO 来传输对象的选定属性,但我想知道两者之间有什么区别?我找不到。

最佳答案

当您说“哑巴”业务对象时,实际上是在使这些对象与 DTO 相同。使业务对象成为业务对象的原因是添加了验证和其他功能逻辑。当用户说业务对象需要 setter 和 getter 方法时,我不同意他的观点;他们可以很好地使用属性,他们只需要比任何一个都多得多。

一个普遍的观点是,应该允许业务对象保存无效值,并且只在尝试持久保存到数据库时抛出异常,在这种情况下,属性可以很好地工作。然而,大多数应用程序都希望有一种方法可以在尝试向数据库发布之前向用户提供反馈。

Rockford Lhotka 的 CSLA.NET 方法是在业务对象上使用 IsValid() 方法,并将一组规则分配给对象本身。还有其他方法可以解决这个问题,但关键是业务对象执行验证。正如您怀疑的那样,“愚蠢”的业务对象实际上只是 DTO。

关于c# - 数据传输对象(DTO)和哑业务对象之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3220175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com