私は、ConeryのMVC Storefrontの初期バージョンと同様に、サービスレイヤーが上にあるリポジトリパターンにほぼ沿ったアプリケーションを構築しています。サービス層はHttpContextにアクセスする必要がありますか?
現在のユーザー以外のすべてのユーザーを返すページを実装する必要があります。私はすでにリポジトリとサービスレイヤにGetUsers()メソッドを持っているので、 "現在のユーザーを除いて"を適用する場所が問題です。
サービス層はHttpContextを認識するべきなので、このルールを適用しますか?現在のユーザ(ID)をコントローラからこのサービスメソッドに渡すだけですが、サービスレイヤがHttpContext対応であり、これを独自に行うことができれば、より清潔に見えます。
1つの明白な選択肢はコントローラ内で直接このルールを適用することですが、私はその考えにだけ熱くないんだけど...
編集 - ちょうど回答にコメントする:私は問題を参照してください逆依存関係の問題で、私は完全に見落とされていました。私は投票の答案としてMehrdad'sをマークしていますが、誰もが実際に読む価値のある貴重な回答を提供しています!
ユーザーIDを渡すだけで何が問題になりますか? –
それはまったく間違っていませんが、私は同じようにすべてのコンテキスト認識状況を扱うのが好きです。 – JonoW
私はこの考えが好きです、JonoW!もし私のサービスメソッドがparamsで醜いものになってしまったり、オーバーロードしたりすると、これはすばらしいことになります。サービスオブジェクトをインスタンス化するときにAppContextを渡すこともできます。これにより、Service.Webに依存しないサービスを多少「認識」したいという私の願望を満たすことができます。 –