如何(以及在​​哪里)构建一个具有大量参数的实体?

这是一个DDD相关的问题,我编码在PHP中。

用户提交包含大量值的表单。 有些是可选的,但现在让我们忽略它。

因此,现在在Controller中我们验证表单数据,并假设验证成功,现在我们有一个名为阵列的值。

我很好奇将这些数据传递给域以及值对象应该创建的最佳方式......

一种方法是将数组传递给Application Service,然后将数组的值解构为变量。 此时某些变量被拉到值对象中。 然后,将这些单独的部分(VO和标量数据混合)发送到我最终尝试创建的实体(表单的点)的构造函数中。

但是,该应用服务能够接收一组值吗? 该数组基本上与UI相关,因为数组键是表单输入名称...

我可以将数组分解成Controller中的变量,但这会导致20-30个变量被传递,这显然很愚蠢。

这个应用程序服务对域对象做这么多事情也可以吗? 这可能会导致相当繁重的服务......

这让我想到了另一种解决方案:只需将数组传递到一个域服务,该服务将阵列分解,创建VO,然后实例化实体。

但是将表单请求传递给我的域名感觉自然也是错误的。

这感觉像一个简单的问题,但我的经验是有限的,所以任何帮助将非常感激。

谢谢!

链接地址: http://www.djcxy.com/p/61455.html

上一篇: How (and where) to construct an Entity with large number of params?

下一篇: Should this be the responsibility of the controller or the domain?