0

我最近遇到了Orika

而且我找不到一个很好的解释为什么我应该使用它。如果我有一个User域对象,为什么不使用它呢?为什么我需要创建具有或多或少相同成员的 UserDTO。

当然,有时我需要隐藏一些字段。但这并不能解释拥有数十个库的必要性。

有人可以向我解释为什么我不应该将域对象从一个架构边界重用到另一个架构边界吗?说边界包括层或微服务接口或任何类似的东西。

4

1 回答 1

1

这一切都取决于!大型系统的良好设计模式对于小型系统来说往往是多余的。您获得的数据是否与您的逻辑直观域对象完全相同,或者那里是否有额外的数据。

您是否发现自己处于此帖子的答案中描述的情况,然后进行 DTO。DTO 的存在是为了通过在每个请求中传输更多数据来限制昂贵的网络操作量。假设您有“用户”和“地址详细信息”域对象,并且您可以在一次调用中获取这两个对象的数据(并且数据在应用程序的同一区域中很有用)然后您将使用 dto 和一次发送所有数据。

很难预测您的系统将如何增长(特别是如果您正在使用其他人控制的实时 API),并且数据传输对象在某种程度上提供了明确的责任分离,这通常是一件好事。

我会说在大型系统中谨慎地重用域对象。

于 2017-06-27T06:46:35.850 回答