IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Utiliser MVC dans une architecture 3-tiers ?


Sujet :

ASP.NET MVC

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 51
    Points : 59
    Points
    59
    Par défaut Utiliser MVC dans une architecture 3-tiers ?
    Bonjour,

    Je souhaiterai comprendre comment utiliser ASP.NET MVC (3) dans une architecture 3-tiers. Après avoir passé du temps a chercher j'ai cru comprendre que le MVC représenterai la partie "présentation" d'une architecture 3-tiers.

    Cependant dans un projet ASP.NET MVC on a des modèles, des vues et des contrôleurs.
    Je me demandais donc si les modèles de mon projet ASP.NET MVC joueraient en fait le rôle des classes DTO (ou POCO) d'une architecture 3-tiers. Est-ce le cas?

    Si oui je suppose qu'il faudrait "sortir" ces modèles de mon projet ASP.NET MVC, donc de la partie "présentation" de l'architecture 3-tiers, et créer autant de classes dans mon projet DTO que j'avais de modèles ? Sinon je ne sais pas du tout...

    De plus en utilisant une architecture 3-tiers j'ai vu que l'on pouvait utiliser différentes présentations comme un projet webforms, un projet console, etc...
    Si je garde mes modèles dans mon projet ASP.NET MVC je ne pourrais peut être pas les utiliser pour une présentation en mode console ?

    Je remercie d'avance toute personne qui prendra la peine de m'aider !

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    une vue : un modele, une vue, un controleur
    ton modèle comprendra des objets dto
    ton controleur effectura des actions et appellera souvent ta couche business
    ta vue sera l'interface graphique
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 51
    Points : 59
    Points
    59
    Par défaut
    Merci pour votre réponse !

    Ok pour ce qui est du contrôleur et de la couche business c'est bien comme je l'imaginais.

    Ensuite le modèle comprendra des dto : peut-il contenir autre chose que des objets dto ? (je ne pense pas personnellement puisque la logique métier est située dans une autre couche).

    Cela m'amène en fait à une autre question : j'accède à mes données avec Entity Framework 4. Pour respecter une architecture 3-tiers j'ai quand même besoin de créer une DAL ou non ? Je ne pense pas puisque j'ai l'impression que les appels à la BDD se font dans le contrôleur... ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 177
    Points : 4 489
    Points
    4 489
    Par défaut
    Cela m'amène en fait à une autre question : j'accède à mes données avec Entity Framework 4. Pour respecter une architecture 3-tiers j'ai quand même besoin de créer une DAL ou non ? Je ne pense pas puisque j'ai l'impression que les appels à la BDD se font dans le contrôleur... ?
    Le controleur appelle le BS le BS appellera à la dal, souvent le business ne fera pas grand chose d'autre que des appelles à la dal


    Ensuite le modèle comprendra des dto : peut-il contenir autre chose que des objets dto
    Je pense qu'il peut arriver parfois de creer d'autres classes pour faciliter l'affichage.
    Je ne suis qu'un pauvre débutant alors ne frappez pas si mes idées ne sont pas bonnes

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 51
    Points : 59
    Points
    59
    Par défaut
    Ok donc en fait au lieu d'écrire mes requêtes Linq (var requête = from ..... select .... ) directement dans le contrôleur comme j'ai l'habitude de faire il faut que je les écrive dans une DAL. Mon contrôleur accédera à la BLL qui elle même accédera à la DAL, pour récupérer le résultat des requêtes.

    Je dois alors passer des objets DTO entre mon projet (là où il y a mes contrôleurs), ma BLL et ma DAL.
    Pour cela je pourrais créer des objets POCO dans mon Modèle qui feraient appel à des objets DTO situés dans un projet : monappli.DTO ?
    (Dans ces objets POCO du Modèle je fais appel aux objets DTO et je leur rajoute des DataAnnotations)

    Cela me permettrais de réutiliser ces objets DTO si je veux par exemple utiliser une autre présentation en mode "console". Je ne me trompe pas ?

    Si je ne me trompe pas alors je pense avoir compris le fonctionnement^^.

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/10/2014, 13h35
  2. SqlMembershipProvider dans une architecture N-tiers
    Par snopims dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/06/2013, 08h21
  3. interet des interfaces dans une architecture n-tiers
    Par anouar204 dans le forum Architecture
    Réponses: 1
    Dernier message: 28/01/2010, 19h14
  4. Réponses: 1
    Dernier message: 28/11/2007, 11h52
  5. Où placer les accesseurs dans une architecture MVC ?
    Par fadeninev dans le forum Zend Framework
    Réponses: 4
    Dernier message: 19/11/2007, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo