Je suis Architecture propre proposée par de célèbres Robert C. Martin . La vue d'ensemble de l'architecture propre se présente comme suit :
Toutefois, à l'heure actuelle, je m'inquiète de ce qui suit Modification du modèle de référentiel . Les étapes de base du modèle de référentiel sont les suivantes :
- Rechercher dans le cache en mémoire ET fournir des données à la couche applicative
- S'il n'est pas trouvé, recherche la source de données locale ET synchronise avec le cache en mémoire ET fournit les données à la couche applicative.
- S'il n'est pas trouvé, recherche dans la source de données distante ET synchronisation avec la source de données locale ET fourniture de données à la couche applicative.
En suivant strictement les étapes ci-dessus, si une donnée existe dans la source de données locale, elle ne sera jamais synchronisée à partir de la source de données distante alors que les données peuvent être modifiées dans la source de données distante. Comment puis-je modifier ce cas pour qu'il puisse être traité ? Une idée me vient à l'esprit, écrite ci-dessous, mais je suis à la recherche d'une meilleure solution.
Mon idée est de garder une trace de la dernière heure de synchronisation pour chaque enregistrement dans la base de données locale. Si la dernière synchronisation remonte à plus d'un certain temps, la synchronisation se fait automatiquement.