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

Hibernate Java Discussion :

[Spring/Hibernate]Conception couche Dao et service


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 118
    Par défaut [Spring/Hibernate]Conception couche Dao et service
    Bonjour,

    Ma question porte sur la manière de faire interagir la couche Dao et Service d'une application. Partons du code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    class MagasinDao{
        ...
        void delete(...){}
        ...
    }
     
    class StockDao{
        ...
        void delete(...){}
        ...
    }
     
    class ArticleDao{
        ...
        void delete(...){}
        ...
    }
     
    class MagasinServiceImpl implements MagasinService{
        @Autowired
        MagasinDao magasinDao;
     
        @Autowired
        StockService stockService;
        ...
        void delete(...){
             //some code and test
             stockService.delete(...);
             magasinDao.delete(...);
        }
        ...
    }
     
    class StockServiceImpl implements StockService{
        @Autowired
        StockDao stockDao;
     
        @Autowired
        ArticleService articleService;
        ...
        void delete(...){
             //some code and test
             articleService.delete(...);
             stockDao.delete(...);
        }
        ...
    }
     
    class ArticleServiceImpl implements ArticleService{
        @Autowired
        ArticleDao articleDao;
        ...
        void delete(...){
             //some code and test
             articleDao.delete(...);
        }
        ...
    }
    Comme vous pouvez le voir:
    1) j'essai de n'appeler dans un Service que la Dao correspondante
    2)et si il y a besoin de faire des opérations sur d'autres entités que celle dont est en charge le Service, je fais appel aux autres Services correspondants au lieu de faire appel au Dao correspondantes.

    Dans l'optique d'adopter l'architecture la plus souple possible(gain en ligne de code, ré utilisabilité) :
    1)j'aimerais connaitre vos critiques, conseil
    2)les bonnes pratiques à adopter pour ne pas violer le modèle en couche Dao/Service
    3)vos manières de faire pour manipuler des entités externes à un Service spécifique.
    4)Des exemples succints de code

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 118
    Par défaut
    up

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/08/2014, 17h45
  2. Web Service - Spring - Hibernate - CXF
    Par Modzful dans le forum Services Web
    Réponses: 2
    Dernier message: 07/05/2010, 15h22
  3. [Spring][Hibernate] Transaction déclarative
    Par mauvais_karma dans le forum Hibernate
    Réponses: 13
    Dernier message: 03/07/2008, 17h09
  4. [Data] CRUD Dao with spring+hibernate
    Par iMacXus dans le forum Spring
    Réponses: 3
    Dernier message: 02/05/2007, 14h13
  5. Réponses: 5
    Dernier message: 25/05/2005, 21h16

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