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:
1
2
3 IMachinProvider MachinProvider : IMachinProvider
1 Repository uniqueCode:
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:
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ésCode:
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é.