Sagen wir, wir haben "Benutzer" und ein "Hotel" Modell Klassen. Ich würde einen User_Mapper und einen Hotel_Mapper zum Laden/Speichern/Löschen usw. verwenden. Ich möchte dann, dass der Benutzer seine "Lieblings" Hotels markieren kann. In der Datenbank habe ich meine user_favourite_hotels
Tabelle, die eine einfache Linktabelle zusammen mit einem Feld zum Abonnieren von Hotelupdates ist.Data Mapper API - unsicher über Organisation
Wenn Sie die Lieblingshotels des Benutzers auflisten, wie würde Sie erwarten, dass dies aus Sicht der API funktioniert? Ein Teil von mir denkt, dass dies eine "findFavouritesByUserId" -Methode auf dem Hotel_Mapper sein sollte, aber abgesehen davon, dass es "richtig" fühlt - jedoch schlägt ein Kollege vor, dass die "Favoriten" dem Benutzer gehören und daher auf dem User_Mapper sein sollten.
Vielleicht sollte ich einen User_Hotel_Favourites_Mapper haben? Ich dachte daran, die "Favoriten" -Daten in das User-Objekt einzufügen, damit es gespeichert und geladen wird, wenn das User-Objekt ist. Ich bin mir nicht sicher, ob es besser wäre, es in sein eigenes Objekt und Mapper zu zerlegen.
Ich würde mich über jeden Hinweis freuen, wie die API für die oben genannten und alle Vorteile/Nachteile/Erfahrungen am besten einzurichten.
Vielen Dank,
James.