Question

J'ai absolument besoin d'utiliser un conteneur IoC pour le découplage des dépendances dans un monde de plus en plus complexe du système de services de l'entreprise.La question que je pose est celle liée à la configuration (un.k.un.de l'enregistrement).Nous avons actuellement 4 environnements différents-le développement de la production et de la entre les.Ces environnements ont de nombreuses configurations que légèrement varier d'un environnement à l'environnement;cependant, dans tous les cas que Je peux actuellement penser, les dépendances entre les composants ne diffèrent pas de l'environnement à l'environnement, même si j'ai peut-être manqué quelque chose et/ou cela pourrait évidemment changer.

Donc, la question ultime est, quelqu'un at-il une expérience similaire à l'aide d'un Cio cadre?Ou, quelqu'un peut-il recommander un cadre sur un autre qui allait assouplir l'enregistrement de l'être par une sorte de convention ou de simplifier les informations de configuration?- Je encore être en mesure de bénéficier d'une interface fluide ou suis-je coincé avec XML -- je voudrais éviter XML-l'enfer.

Edit: C'est un .Net de l'environnement et j'ai été à la recherche, à Windsor, en Ninject et Autofac.Ils ont tous l'air désormais en charge deux méthodes d'enregistrement (courant et XML), bien que Autofac de soutien pour les expressions lambda semble être un peu différent que les autres.Quelqu'un d'utiliser une similaire multi-environnement de déploiement?

Était-ce utile?

La solution

J'utilise Ninject.J'aime le fait que je n'ai pas utiliser Xml pour configurer les dépendances.Je peux utiliser directement en haut le code C#.Il y a de multiples façons de le faire aussi.Je sais que d'autres bibliothèques ont cette fonctionnalité, mais Ninject offre rapide de l'instanciation, il est assez léger, il a conditionnelle de liaison, prend en charge compact framework, et il prend en charge Silverlight 2.0.J'ai aussi utiliser un wrapper sur elle, au cas où je ne l'activer pour un autre cadre dans l'avenir.Vous devriez certainement essayer Ninject au moment de décider sur un cadre.

Autres conseils

Si vous voulez le résumé de votre conteneur, et être en mesure d'utiliser différentes, de regarder, d'en avoir injectable dans un sens, j'ai essayé de le faire ici

Je ne suis pas sûr que cela sera en fonction de votre cas particulier, vous n'avez pas mentionné de quelle plate-forme vous travaillez, mais j'ai eu beaucoup de succès avec Le château de Windsor CIO cadre.Les dépendances de l'installation dans le fichier de config (c'est une .NET framework)

Regardez Ayendes rhino communes.Il utilise une abstraction sur le conteneur IoC.De sorte que vous pouvez passer des conteneurs à chaque fois que vous le souhaitez.Quelque chose comme conteneur.Résoudre est toujours là dans chaque contenant.

J'utilise Structuremap pour faire le sale travail qu'il a une interface fluide et le XML choses, et il est assez puissant pour la plupart des choses que vous voulez faire.Chacun a ses propres avantages et inconvénients, de sorte un peu de l'abstraction, de sorte que vous pouvez facilement passer (on ne sait jamais combien de temps ils vont être autour) est bonne.Pour le reste, je pense que Spring.Net, Château de windsor, Ninject et StructureMap ne sont pas éloignés de plus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top