3

Je suis sûr que IoC est la voie à suivre pour mon application. Il y a une tonne d'articles et même des questions ici sur SO qui discutent les différents récipients. J'ai lu plusieurs blogs aujourd'hui avec des exemples partiels. Personnellement, je penche pour commencer avec CommonServiceLocator et Unity comme deux façons de résoudre le même problème - j'ai juste besoin d'un tas d'assemblées pour obtenir des données à partir d'une base de données, ce que je suppose est ce qui doit être injecté partout.IoC du début à la fin

Je n'ai pas encore trouvé de sites qui prennent vraiment un problème du début à la fin, avec des exemples concrets de code. Par exemple, je n'ai pas encore trouvé celui qui discute un IServiceLocator et comment l'enregistrer réellement (ou faire tout ce qui est nécessaire pour le faire connaître).

Quels sont vos articles/articles/questions préférés qui peuvent prendre un noob du début à la fin de la mise en œuvre?

+3

vous n'avez probablement pas besoin ou ne voulez pas un IServiceLocator –

+0

Je ne serai pas capable de toute façon parce que je ne l'ai pas encore compris. ;) L'unité et le MEF sont ceux avec lesquels je joue maintenant en parallèle. Rien n'est une solution miracle, mais je ne m'attendais pas vraiment à ça de toute façon. Je me concentre sur MEF le plus en ce moment, cependant. – Dave

+2

MEF n'est pas exactement un conteneur IoC. Si vous voulez pluggability - utilisez MEF; Si vous voulez la modularité, utilisez le conteneur IoC réel, comme Windsor de Autofac –

Répondre

3

Si vous ne l'avez pas encore lues, je recommande:

(Je recommande également la lecture ploeh blog - Mark écrit à propos de DI aussi bien ou mieux que quiconque).

Ni l'un ni l'autre ne fournit un exemple d'application de bout en bout, mais ensemble, ils fournissent un contour solide. L'article de Fowler est essentiel pour comprendre les différents types d'injection de dépendance (et vous l'avez peut-être déjà lu, selon votre question), mais j'ai vraiment dû lire l'article de Hevery avant de me demander comment j'utiliserais DI dans le monde réel. (Et vous devriez lire plus de choses de Hevery ou "Service Locator is an Anti-Pattern" de Mark Seemann, si seulement pour comprendre pourquoi vous ne devriez pas utiliser le localisateur de service!)

Enfin, une chose que je ne vois pas souvent a déclaré explicitement: votre top les applications de niveau sont the only things that should reference your dependency injection framework classes.

0

Si vous êtes toujours intéressé par l'utilisation de Unity, alors le screencast suivant vaut le téléchargement - Unity IoC Fundamentals. Bien qu'il ait des exemples du monde réel à la fin, malheureusement, il les survole absolument - bien qu'il existe des liens vers des articles de blog expliquant plus en détail les exemples que vous pourriez suivre à votre propre rythme si vous êtes intéressé.