私が読んだすべてのチュートリアルから、サービスレイヤーには1つまたは2つのメソッドしかないように見えるので、必要な数のメソッドを持つファットではなく、サービスが軽量/スキニーであると想定されているかどうかはわかりません
私がPost
ドメインオブジェクトを持っていて、PostService
クラスを持っている場合、投稿を削除したい場合は、コントローラー内からこれを実行する必要があります。
$postService = $this->serviceFactory->build('post');
$postService->deletePost($id);
deletePost()
内部のメソッドPostService
は次のようなものです。
$postMapper = $this->dataMapperFactory->build('post');
$post = $postMapper->fetchById($id);
// Check if the post exists
// Check if it belongs to this user
// Some other checks
$postMapper->delete($post);
あれは正しいですか?基本的に、ドメインオブジェクトは単なる値オブジェクトであり、すべての作業はサービスレイヤーで行われますか?
どんな助けでも大いに感謝します。