Je suis nouveau dans Unity, mais cette question est plus générique pour IoC, et je suis assez nouveau pour implémenter l'IoC dans son ensemble. Je solution VS2010 avec cette structure de projet (simplifié légèrement): - (. Classe Lib PRJ)IRepository, IService, Unity dans une application ASP.NET MVC, question de référence
- Business Objects Folder
- DomainModel - Entity Framework 2 entités POCO
- de couche de données - Dossier
- DataAccess (classe Lib PRJ.) - EF2 EDMX
- Repository (classe Lib PRJ.) - Interface IRepository & référentiel implémentations concrètes
- Présentation Couche - dossier
- WebUI - MVC Projet
- service couche
- service (classe Lib PRJ.) - Interface IService et service (modèle de façade) réalisations concrètes
Tous les projets font référence au projet DomainModel.
Le référentiel fait référence au projet DataAccess.
La couche Service fait référence au projet Repository. WebUI fait référence au projet de service & les assemblages Unity.
Unity est configuré pour injecter correctement tous mes types de service dans l'interface utilisateur Web (global.asax via un UnityControllerFactory.cs personnalisé). Mais comment configurer Unity dans la couche de service pour injecter les objets du référentiel?
Je ne veux pas faire référence au projet Repository à partir de l'interface Web pour garantir que personne ne court-circuera et ne court-circuera la couche Service pendant le développement.
Idées Couple j'ai (pas sûr si elle le résoudre):
- Déplacer les interfaces IRepository dans le DomainModel et ajoutez les Unity.RegisterType <> demande la IRepository
- Mettre en place la configuration de l'unité dans le Web.config
Toute direction serait grandement appréciée, en particulier pour configurer Unity pour la couche de service/Référentiel, mais aussi en général pour le projet.
Merci qui était exactement ce que je cherchais. – SCEV