I六角形アーキテクチャに従う書き込みシステム。私はどのようなオブジェクトを持っているべきですか?
私は、UseCaseで分割された非同期コマンドと同期クエリオブジェクトを持っています。
マイsrcフォルダは、次のようになります。私の質問がある
-src
--Entity
---Task.php
--UseCase
---Command
----CreateTask
-----CreateTaskUseCase.php
-----CreateTaskCommand.php
:私は/そのでしょうUseCase\Command\CreateTask\Request\Task
を作成UseCase\Command\CreateTask\CreateTaskCommand
\Entity\Task
- のコンストラクタでコマンドを介してデータを送信するために使用する必要がありますすることができますどのようなすべての必要なデータがあります
- 文字列/ int/float
これは問題を示す簡単な例です。
今私は、実際の状況では、ドメイン(Entiti\Task
など) からオブジェクトを使用しています
は、私は、[NODE_IDを
- UUID
- インスタンス[ID、名]
- 出典を必要とする
UseCase\Command\CreateProcess
を持っていますNODE_NAME、leaf_id、leaf_name] - リソース]
DDDに従うことで、プロセスは私の集約です。すべてのエンティティは、構成プロセス(ノード、リーフ、リソース、人)のみによって存在します。それから、私は別の方法を望んでいない、他のエンティティを作成する方法は、私のビジネスロジックを動作させるためです。
この問題のため、問題は次のとおりです。選択すべきは何ですか?いくつかのルールを破る?
問題:ドメイン内からのオブジェクトと
- bindコマンド、コアに、より上位の層に結合するであろう。唯一の標準タイプ(整数、文字列などを使用してユニットテストなど
- - コアの変化は、チェーンは、すべての層
- クラスのたくさん私を作るが、使用するコマンドの明確な方法、および大いに多くの仕事
Request\*
を作成すると反応します)20個の引数で__counstructを作成します。私は、このコマンドを使用することは明らかではないので、マルチレベル配列を必要としません。
ありがとうございました。
Dddは主にあなたのビジネスが歩き回る旅と構造についてです。私は彼らがユースケース/プロセス/タスク構造について話しているのではないかと思っています。また、値型を調べてください。バンドルの引数 – Batavia
あなたは正しいです、DDDタグを削除します:) – timiTao
あなたの答えにあなたの質問に同じテキストを追加したので、あなたの編集をロールバックします。 – kayess