ビジネスルールの1つは、どのスタッフがどの操作を実行するかをログに記録することです。現在のコードは、セッションファサード全体をサービス(モデルレイヤー)に渡します。
音/匂いは正しいですか?コントローラーはセッションファサードを処理してデータを抽出し、代わりにサービスに渡す必要がありますか?
セッションファサードの主な理由は...コントローラーレイヤーの簡単なテストのためではありませんか?セッションファサード全体をモデルに渡すことは意味がありますか?
どうも
ビジネスルールの1つは、どのスタッフがどの操作を実行するかをログに記録することです。現在のコードは、セッションファサード全体をサービス(モデルレイヤー)に渡します。
音/匂いは正しいですか?コントローラーはセッションファサードを処理してデータを抽出し、代わりにサービスに渡す必要がありますか?
セッションファサードの主な理由は...コントローラーレイヤーの簡単なテストのためではありませんか?セッションファサード全体をモデルに渡すことは意味がありますか?
どうも
セッションファサードがビジネスフローを意味する場合、はい、コントローラーはこのレイヤーと対話する必要があります。ファサードをビジネスモデルに渡すことは、それらがアプリケーション内の真に別個のレイヤーである場合、一般的に意味がありません。
アプリケーションロジック(セッションファサードによって制御される)とビジネスロジック(実際のドメインモデルの一部)の間には分離があります。私の考えでは、これらは2つの別々のレイヤーです。
お役に立てれば。
通常、私のコントローラーレベルは、必要に応じて各サービスメソッドに値を渡します。サービスは、それらがどこから来たのか(セッション、ユーザー送信など)を気にせず、それらを受け入れ、作業を実行して結果を返します。コントローラは、適切な場所(データベース、セッション、ユーザー送信など)からさまざまな値を取得し、それらをサービスレイヤーに渡す処理を行います。