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