J'ai quelques DAO dans mon application qui accèdent à une base de données pour les opérations CRUD. Disons là Nouvelles, météo et sport DAO. Donc, je suis confus sur le nombre de dépôts dont j'ai besoin. devrais-je juste utiliser un dépôt dire DataRepository et laissez-moi tenir ma base de données et tous les dao. et encapsuler des méthodes pour les opérations CRUD en elle? ou chaque DAO devrait-il avoir son propre référentiel?Modèle de conception de référentiel - devrait-il y avoir un repo pour chaque Dao?
Je veux dire qu'un référentiel doit renvoyer uniquement les objets de données que la couche appelante comprend. donc c'est comme une encapsulation sur les DAOs mais je ne suis pas sûr si je devrais en créer un par DAO ou juste avoir un repo par application, etc.
Si vous lisez ceci article nous commençons à comprendre que le modèle est sur-machiné ou plus distrait. C'est devenu un détail caché par rapport à la minimisation des requêtes.
Mais il semble qu'il y ait une prise en pension par DAO que l'interface elle-même ressemble à ceci:
interface Repository<T> {
void add(T item);
void remove(Specification specification);
List<T> query(Specification specification);
}
où T peut être le type/table de données DAO accès. Juste besoin d'une clarification maintenant. Pouvez-vous imaginer que j'ai 30 types différents, alors j'ai besoin de 30 implémentations Repo différentes. c'est ridicule. Il semble que le modèle de dépôt lui-même ressemble à un DAO, pas différent. Je suis si confus.
Faire un '' generic' et abstract' avec 'la persistance context' et l'étendre à tous les enfants' interfaces' donc il y a une entité 'manager' dans votre application et Dans les interfaces enfants comme 'SomeDAO' faites votre méthode unique et utilisez-les selon l'exigence – emotionlessbananas
pouvez-vous me montrer un exemple? – j2emanue
ok laissez-moi faire un – emotionlessbananas