Question

Salutations,

Je m'excuse d'avance de ne pas avoir suffisamment étudié la chose pour répondre à la question moi-même, mais j'imagine que cela me prendrait un peu de temps et que je préférerais le savoir maintenant avant d'investir plus de temps dans son apprentissage. Je n'ai rien trouvé dans mes recherches initiales.

Pourquoi utiliser ASP.Net MVC si vous utilisez déjà une architecture à plusieurs niveaux (couche de données, couche logique, couche de présentation)? Autre que le fait le contrôleur a plus de puissance que la couche logique.

Ai-je raison de penser que je peux utiliser nHibernate et toutes mes classes d'accès aux données, entités et mappages dans la partie Modèle du MVC?

Lorsque vous utilisez des contrôleurs, est-il préférable de séparer une grande partie de la logique dans une classe distincte afin que je puisse l'appeler à partir de plusieurs contrôleurs? Ou puis-je les appeler depuis les contrôleurs eux-mêmes, compte tenu du fait que je ne voudrais pas qu'ils soient tous des actions, mais des méthodes normales.

Merci

Était-ce utile?

La solution

MVC ne remplace pas N-Tier, c’est un moyen d’organiser la couche de présentation.

Je ne dirais pas que le contrôleur est plus puissant que la couche logique. Au lieu de cela, le contrôleur (faisant partie de la couche de présentation) doit toujours appeler la couche logique.

Les contrôleurs doivent uniquement préparer les données pour les vues et gérer les actions des vues. Vous devriez toujours utiliser votre BLL.

Autres conseils

  

Oui, les entités NHibernate peuvent (et devraient l'être) être transmises aux vues.

Cela vous causera des problèmes. Vous devez utiliser des modèles de vues DTO aplatis et sans risque (null null safe).

Damien, vous voudrez peut-être lire ces 2 articles:

Le contrôleur de masse

Vue architecturale du framework ASP.NET MVC

Le

N-tier est un modèle archtitectuel destiné à permettre la réutilisation, la séparation des préoccupations et l’évolutivité des zones clés de votre application. Les couches non liées à l'interface utilisateur (Commerce, Données, Façade, etc.) doivent être testées à l'unité et indépendantes de l'interface utilisateur.

La couche d'interface utilisateur n'est que l'une de ces couches, qu'elle soit Silverlight, ASP.NET MVC, formulaires Web, etc.

MVC, comme MVP est un modèle de conception qui permet une meilleure testabilité de la couche d'interface utilisateur. ASP.Net MVC est une infrastructure prête à l'emploi qui prend en charge et applique ce modèle. Ce modèle était utilisé bien avant ce cadre.

Mais il s’agit simplement d’un choix de couche d’interface utilisateur. Les contrôleurs ne doivent pas interagir avec les bases de données, les services, etc., ils contrôlent l’état de la vue à l’aide du modèle. / p>

Pour répondre à votre question, pourquoi utiliser si vous utilisez déjà plusieurs niveaux, cela signifie que les URL sont mieux organisées et plus conviviales pour les moteurs de recherche. En outre, il s'agit davantage d'un modèle standard que les autres modèles ont tendance à être dans ASP.Net. Cela le rend plus convivial pour les développeurs qui utilisent déjà MVC sur d’autres plateformes.

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