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 :

Mvc IoC et Repository


Sujet :

ASP.NET MVC

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 37
    Points
    37
    Par défaut Mvc IoC et Repository
    Bonjour,

    J'aimerais savoir quelle est la meilleur pratique entre
    utiliser un repository pour chaque Entity
    utiliser un repository unique

    Je m'explique :

    1 Repository par Entity
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IMachinProvider
     
    MachinProvider : IMachinProvider
    Que j'utiliserai donc de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private readonly IMachinProvider _machinProvider;
     
    HomeController(IMachinProvider machinProvider)
    {
        this._machinProvider=machinProvider;
     
        var res=this._machinProvider.get(bla bla bla);
    }
    1 Repository unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IRepository<TContext, TEntity>
     
    Repository : IRepository<TContext, TEntity>
    Que j'utiliserai ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private readonly IRepository<MonContext, MonEntity> _repository;
     
    HomeController(IRepository<MonContext, MonEntity> repository)
    {
        this._repository=repository;
     
        var res=this._repository.get(bla bla bla);
    }
    La première façon m'oblige à faire du code redondant pour toutes mes entités
    La seconde m'oblige a indiquer le Context au sein de mon Controller ce qui au niveau de découplage me parait moyen.

    Donc quelle est la meilleur façon de faire entre ces 2, ou une 3ième a laquelle je n'ais pas pensé.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zabeilles Voir le message
    Donc quelle est la meilleur façon de faire entre ces 2, ou une 3ième a laquelle je n'ais pas pensé ?
    J'utilise plutôt la deuxième solution (celle avec les génériques) comme tu le sais déjà la première solution t'amène à faire du code redondant du coup tu violes le principe DRY (Don't Repeat Yourself).
    Sinon en plus de la seconde solution j'utilise des Unit Of Work (Unité de Travail) qui sont des classes qui regroupent pas mal de Repository qui doivent communiquer ensemble.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2013
    Messages : 21
    Points : 37
    Points
    37
    Par défaut
    Ok ! Bon ça va dans le sens que j'imaginais.

    Merci à toi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. MVC.NET moteur de vue & framework IoC
    Par 0viking0 dans le forum ASP.NET MVC
    Réponses: 4
    Dernier message: 06/12/2012, 11h11
  2. Conseil archi MVC/Repository/Cache/WebService
    Par rodbeck dans le forum ASP.NET
    Réponses: 6
    Dernier message: 25/09/2012, 21h46
  3. Réponses: 4
    Dernier message: 24/02/2009, 12h06
  4. [MVC] Différences entre les framework MVC push et pull ?
    Par XavierZERO dans le forum Frameworks Web
    Réponses: 5
    Dernier message: 15/01/2004, 13h12
  5. Classe abstraite / MVC
    Par caramel dans le forum MVC
    Réponses: 5
    Dernier message: 01/04/2003, 09h27

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