2
我写作系统遵循六边形结构。我应该掌握什么对象?
我在UseCase中分割了异步命令和同步查询对象。
我src文件夹的样子:
-src
--Entity
---Task.php
--UseCase
---Command
----CreateTask
-----CreateTaskUseCase.php
-----CreateTaskCommand.php
我的问题是:我可以/应该使用通过命令在构造函数发送的UseCase\Command\CreateTask\CreateTaskCommand
\Entity\Task
- 数据创建
UseCase\Command\CreateTask\Request\Task
那会拥有所有需要的数据 - only string/int/float
这是显示问题的简单示例。
现在,我使用的对象从域(Entiti\Task
等) 在现实情况下,我有UseCase\Command\CreateProcess
需要
- UUID
- 实例[ID,名称]
- 来源[NODE_ID,节点名,leaf_id,leaf_name]
- 资源[ID,名称,类型等正常类型人【名,姓氏]]
通过遵循DDD,Process是我的聚合。所有实体仅存在于构造过程(节点,叶子,资源,人员)。然后,我不想单独的方式来创建其他实体,因为这种方式符合我的业务逻辑。
由于这个问题,问题是:我应该选择什么?打破一些规则?
问题:
- 与对象绑定命令从内域,将结合更高层更向芯。在核心的任何变化,都会链所有层
- 创建
Request\*
让我很多类,但用命令的明确的方式,以及更多的工作作出反应 - 单元测试等 - 只使用标准型(INT,字符串等。 )将使__counstruct有20个参数。我不想要多级数组,因为不会清楚使用这个命令。
感谢您的帮助。
Ddd主要是关于您的业务走过的旅程和结构。我怀疑他们谈论的是一个用例/流程/任务结构,但更多的是关于一个人的事情。另请参阅valueetypes。捆绑参数 – Batavia
你是对的,将删除DDD标签:) – timiTao
回滚你的编辑,因为你已经添加了相同的文字到你的问题和你的答案。 – kayess