2009-07-27 5 views

Répondre

5

J'ai fait une vidéo sur cette aide si elle: http://www.asp.net/learn/mvc-videos/video-366.aspx

L'idée est que avec IoC vous avez pas de dépendances déclarées dans votre contrôleur - seules interfaces. Cela permet une réutilisation élevée.

Pensez en termes d'adhésion - vous pourriez avoir un AccountController que vous aimez vraiment et que vous voulez transporter avec vous. Normalement, vous pouvez utiliser Linq to Sql, mais sur ce nouveau projet, vous voulez utiliser SubSonic ou NHib. Si vous utilisez IoC il n'y a pas de code vous devez changer dans votre AccountController - il vous suffit de mettre en œuvre votre nouvelle interface.

1

À peu près les mêmes avantages généraux on obtient de l'injection de dépendance appliquées au cas des contrôleurs MVC.

0

Comme dans tout autre endroit où IoC est utilisé, l'injection de dépendances généralement des services par le constructeur du contrôleur vous donnera la possibilité de basculer entre les différentes implémentations de la même interface injectée. Ce n'est pas un scénario très commun cependant. Pour moi le meilleur avantage que cela vous donne est de tester vos contrôleurs unitaires en utilisant le cadre Mocking. De cette façon, vous pouvez isoler dans votre test la dépendance des services par rapport à ce que fait réellement le contrôleur.

Questions connexes