2016-02-17 3 views
0

Je suis peut-être à la recherche de mauvais mots-clés, mais j'ai du mal à trouver une solution adaptée au cas suivant. Nous avons une application interne qui a cinq domaines d'activité distincts au sein de l'application. Dans le passé, tout cela a été mis en place dans un projet de site Web, et nous avons apporté des modifications à cet environnement. Nous avons toujours eu des problèmes avec un changement apportant l'ensemble du site. Afin d'atténuer cela tout en apportant des moyens plus simples de tester un appareil et de potentiellement entrer dans des cas d'utilisation continue, j'aimerais avoir une structure où toutes les transactions pour des domaines d'activité particuliers (domaines) restent dans leur propre projet distinct . L'architecture peut ressembler à:ASP.net MVC: Domaines multiples, projets séparés, déploiements séparés

  • projet principal (authentification Maisons, page maître de base, styles)
    • Commande (Maisons toutes choses commande)
      • Modèles/Vues/Contrôleurs
    • Prix (Maisons tout prix des prix)
      • Modèles/Vues/Contrôleurs

Ma question est de savoir comment puis-je intégrer tout cela et me donne la possibilité de déployer chaque projet séparément à tout moment que je voudrais. Ainsi, par exemple, je mets à jour le domaine Ordering, le compile, puis télécharge le projet sans affecter les autres domaines.

D'autres questions évidentes tournent autour du routage. Comment puis-je obtenir l'itinéraire correct? Je suppose qu'il existe des moyens au sein de RouteConfig pour définir l'espace de noms? Quelle est la solution pour cela?

Est-ce que c'est ce que fait le MEF?

Répondre

0

Jetez un oeil à Areas:

Le modèle MVC sépare le modèle (données) logique d'une application de sa logique de présentation et la logique métier. Dans ASP.NET MVC, cette séparation logique est également implémentée physiquement dans la structure du projet, où les contrôleurs et les vues sont conservés dans des dossiers qui utilisent les conventions de dénomination pour définir les relations. Cette structure prend en charge les besoins de la plupart des applications Web.

Cependant, certaines applications peuvent avoir un grand nombre de contrôleurs et chaque contrôleur peut être associé à plusieurs vues. Pour ces types d'applications, la structure de projet ASP.NET MVC par défaut peut devenir lourde. ASP.NET MVC vous permet de partitionner les applications Web en unités plus petites appelées zones. Les zones fournissent un moyen de séparer une grande application Web MVC en plus petits groupements fonctionnels . Une zone est effectivement une structure MVC à l'intérieur une application. Une application peut contenir plusieurs structures MVC (zones).

(de MSDN, lié ci-dessus)

qui vous donnerait la séparation logique, mais pas fonctionnelle.

Pour déployer Commande sans risquer de prendre vers le bas prix, la meilleure chose à faire serait d'avoir des applications Web distinctes (qui peuvent être hébergés dans un seul site si c'est une exigence) pour chacun. Vous pouvez extraire toute logique partagée vers un projet de bibliothèque de classes et la référencer dans les deux frontaux.