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
Que j'utiliserai donc de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 IMachinProvider MachinProvider : IMachinProvider
1 Repository unique
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); }
Que j'utiliserai ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 IRepository<TContext, TEntity> Repository : IRepository<TContext, TEntity>
La première façon m'oblige à faire du code redondant pour toutes mes entités
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 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é.
Partager