如何(以及在哪里)构建一个具有大量参数的实体?
这是一个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?