2016-05-23 2 views
0

Ich habe eine Buch-Repository/Buchhandlung, wo Kunden nach einem Buch basierend auf Autor, ISBN, Namen und vieles mehr suchen können. Dies könnte möglicherweise zu zahlreichen Suchmethoden im Repository führen, da in Zukunft weitere Felder hinzugefügt werden. Um dies zu lösen, möchte ich eine Methode finden, die ein Query Objekt aufnimmt, das die Suche kapselt. Ich möchte auch eine QueryBuilder Klasse haben, um die Abfrage zu konstruieren. Ich habe jedoch Probleme beim Implementieren dieser Klassen. Irgendwelche Vorschläge?? Außerdem sollte die Paginierungsunterstützung das Problem des Repositorys oder des Clients sein, der die Abfrage erstellt.So modellieren Sie eine Abfrage/Kriteriensuche für eine Buchhandlung Repository

Meine BookRepository Klasse sieht derzeit wie folgt aus:

public interface Bookstore { 
    Iterable<Book> find(Query query); 

    Iterable<Book> find(Query query, int start, int len); 

    void add(Book book); 

    void remove(Query query); 
} 

Antwort

0

Sie das Query Object Muster verwenden könnte. Es sollte einen Erbauer unterstützen.

Verwandte Themen