Je développe une API de repos en utilisant le framework de Service Stack. Toutes les couches sont séparées afin que nous puissions faire des simulations DAL pour les tests unitaires de la couche logique métier.Dans quelle couche implémenter le cache?
Je la configuration du cache avec inversion de contrôle:
container.Register<ICacheClient>(new MemoryCacheClient());
Où MemoryCacheClient
est une classe simple qui implémente ICacheClient
avec quelques méthodes.
Et voici la question: Quelle est la meilleure couche dans laquelle inclure l'appel au cache par cette inversion de contrôle?
Cela pourrait être dans la BLL, mais cela n'entraînera-t-il pas des problèmes aux tests unitaires?
Il pourrait être en DAL, sachant que je devrais perdre IOC? Et, dans ce cas, je vais dépendre du cache de webserver, cela pourrait être faux.
Il pourrait être dans l'interface Web, sachant que je peux avoir une certaine logique ici et même perdre certaines fonctionnalités?
Il pourrait être entre l'interface Web et BLL, créant une nouvelle couche?
J'ai cherché beaucoup et lire quelques articles, mais sans chance:
Help with debate on Separation of concerns (Data Access vs Business Logic)
http://www.velocityreviews.com/forums/t639532-3-tier-design-and-cache-for-asp-net-3-5-a.html
- http://forums.asp.net/t/1795015.aspx/1
Merci