这是一个与 DDD 相关的问题,我正在用 php 编写代码。
用户提交包含大量值的表单。有些是可选的,但我们暂时忽略它。
所以现在在控制器中我们验证表单数据,假设验证成功,我们现在有一个充满值的命名数组。
我很好奇将这些数据传递到域的最佳方式以及应该在哪里创建值对象......
一种方法是将数组传递给应用程序服务,然后将值数组解构为变量。在这一点上,一些变量被一起拉到值对象中。然后这些单独的部分(VO 和标量数据的混合)被发送到我最终尝试创建的实体的构造函数(表单的点)。
但是这个应用程序服务可以接收一组值吗?该数组本质上与 UI 相关联,因为数组键是表单输入名称......
我可以将数组分解为控制器中的变量,但这会导致传递 20-30 个变量,这显然是愚蠢的。
这个应用程序服务还可以对域对象做这么多吗?这可能会导致相当繁重的服务......
这使我想到了另一个解决方案:只需将数组传递给域服务,该服务将数组分解,创建 VO,然后实例化实体。
但是将表单请求中的数组传递到我的域中也感觉本质上是错误的。
这感觉像一个简单的问题,但我的经验是有限的,所以任何帮助将不胜感激。
谢谢!