Ich entwerfe eine Decorator-Klasse, die eine News-Suchmaschine umschließt, so dass wir diese Klasse mit einer Bibliothek versenden können, die von anderen Teams verwendet werden kann.Java - Wie man eine Methode für die Suche entwickelt?
Die exponierte Schnittstelle dieser Klasse ist eine im Java-Stil, sie braucht eine Menge Parameter, dann setzt dieser Dekorator diese Parameter als Suchtext für die Suchmaschine zusammen.
Meine Methode ist so etwas wie die folgenden:
public List<News> search(List<String> keywords, List<String> categories, List<String> authors, List<Location> locactions, List<LocalDate> dates, List<SortRule> sortRules, int offset, int limit);
Ja, ich weiß ... Diese Methode sieht lächerlich lange, sehr fehler Sonde und hart für die Kunden zu bedienen.
Also, wie kann ich eine bessere API für eine solche Suchfunktionalität entwerfen?
Wenn Sie versuchen, gute API-Design herauszufinden, ist es nie eine schlechte Idee, um andere gute Bibliotheken Design zu betrachten. Eine gute, die in den Sinn kommt, ist Hibernates "Kriterien" -Klasse https://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html –
Danke, es ist wirklich eine gute Referenz! –