Ninjectを使用して、MVCプロジェクトのコントローラにリポジトリを注入しようとしています。コントローラ依存性注入を使用した複数のリポジトリを使用したマスター/ディテールビュー
public class HomeController : Controller
{
private readonly ICustomerRepository _customerRepository;
//
// GET: /Home/
public HomeController(ICustomerRepository customerRepository)
{
_customerRepository = customerRepository;
}
}
このすべてが理にかなっていると十分に簡単ですが、ビューはより複雑になると、マスター・ディテール・シナリオを表示する必要があるとき、私は、リポジトリのインターフェイスの両方を注入していますか?それが4または5レベルの深さになると変化しますか? (例:ユーザーが顧客、プロジェクト、グループ、部門を選んで人のリストを取得する)
私が思いついた3つの事柄がありました。
- コンストラクタを介して必要なリポジトリをすべて注入します。
- スーパーリポジトリのコンセプトを作成するか、
- リポジトリごとに部分ビューとコントローラを作成します。
このパターンにはベストプラクティスがありますか?どんな洞察も素晴らしいだろう。
私はこれを見ることができます...しかし、それに直面しましょう、コントローラの2依存関係は "あまりにも多く"ではありません。 –