次のようなフォルダー構造を持つ PHP DDD アプリケーションの場合:
アプリ/ ビュー/ コントローラー/ ドメイン/ models/ (または生成された) サービス/ 工場/
次のクラスは (DDD 用語の観点から) 何を表し、それらの推奨される場所は何ですか。
次のようなフォルダー構造を持つ PHP DDD アプリケーションの場合:
アプリ/ ビュー/ コントローラー/ ドメイン/ models/ (または生成された) サービス/ 工場/
次のクラスは (DDD 用語の観点から) 何を表し、それらの推奨される場所は何ですか。
構造は悪くありませんが、MVC ではモデルがサービス、エンティティ、およびその他の種類のクラスで構成されるため、モデルの名前をエンティティに変更します。
Dictionary と HtmlValidator は ID を持たず、ステートレスであるため、サービスに属しています。
app/
views/
controllers/
domain/
entities/ ( orm generated )
services/ (HtmlValidator)
factories/
非常に単純なアプリケーションのように見えますが、DDD ビルディング ブロックの使用を開始しないでください。すべてのアプリケーションは時間の経過とともに成長するため、後でリファクタリングする必要がないように、適切な構造から始めることをお勧めします。
次に、論理部分を分離できるように、ある種のモジュールの作成を検討する必要があります。また、ドメインおよびインフラストラクチャ レイヤーからアプリケーションおよびプレゼンテーション レイヤーを分離することもできます。
app/
views/
controllers/
domain/
module1
entities/
services/
factories/
module2
....
vendor/ (infrastructure layer)
ORM
... (some other 3rd party libs)