DTO 是您可以在以下位置使用的对象边界系统的。例如,当您有 SOAP Web 服务并且想要返回响应时,您可以使用 DTO。它比必须通过网络返回的实际 XML 更容易处理。 DTO 通常由工具生成,例如基于 WSDL。 DTO 通常是根据服务使用者的需求定制的,并且可能会受到性能要求的影响。
另一方面,值对象存在于core系统的。它捕获业务逻辑片段以及可能的格式化规则。它使您的代码更加类型安全和富有表现力。它还解决了“原始痴迷”反模式。很好的例子是使用类“SocialSecurityNumber”而不是字符串。或者用金钱代替小数。这些对象应该是不可变的,以便它们看起来更像基元,并且可以轻松地在不同线程之间共享。
例如,在假设的“客户订单”系统中:
客户和最后五个订单是DTO(优化以避免多次网络调用)
Customer是实体
Money and SKU是值对象
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)