Cio/DI - Pourquoi dois-je avoir pour faire référence à toutes les couches/assemblées en application du point d'entrée?

(Liée à cette question, EF4: Pourquoi la création de proxy être activé lorsque le chargement différé est activé?).

Je suis nouveau sur DI, si patient avec moi. Je comprends que le conteneur est en charge de l'instanciation de l'ensemble de mes types enregistrés, mais pour ce faire, il nécessite une référence à toutes les Dll dans ma solution et de leurs références.

Si je n'étais pas à l'aide d'un conteneur d'injection de dépendances, je n'aurais pas de référence à la EntityFramework bibliothèque dans ma MVC3 app, seulement ma couche de gestion, qui serait la référence de ma DAL/Repo couche.

Je sais qu'à la fin de la journée, toutes les Dll sont inclus dans le dossier bin, mais mon problème c'est d'avoir à faire référence explicitement via "ajouter une référence" dans VS pour être en mesure de publier un WAP avec tous les fichiers nécessaires.

  • Ce chapitre dans le livre l'Injection de Dépendance dans la .NET, deuxième édition c'est une version plus élaborée des réponses à la fois de Mark et moi-même. Il décrit en détail le concept de la Composition de la Racine et pourquoi laisser le chemin de démarrage de l'application dépendent de chaque autre module est en fait une bonne chose.
  • J'ai lu que l'extrait de lien et le chapitre 1, je vais l'acheter le livre que j'ai vraiment apprécié les analogies et des explications simples, à la question complexe de DI. Je pense que vous devriez proposer une nouvelle réponse, répondre clairement "vous n'avez pas à faire référence à toutes les couches/assemblées dans l'entrée de couche logique, sauf si c'est aussi votre composition de la racine," le lien de l'extrait, et afficher l'image de la Figure 3, à partir de l'extrait.
InformationsquelleAutor diegohb | 2012-02-29