Bonjour,
Ma question porte sur la manière de faire interagir la couche Dao et Service d'une application. Partons du code suivant:Comme vous pouvez le voir:
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(...); } ... }
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
Partager