Ich füge meiner Webanwendung Logik hinzu, um Geo-Koordinaten für einen Benutzer zu suchen, sie zu speichern, dann diese Koordinaten zu verwenden und die Zeitzone zu suchen. Mein erster Schritt war das Hinzufügen einer GeoCodeUser() - Methode zu einem MappingService, den ich für andere kartenbezogene Aufgaben definiert hatte. Da das Nachschlagen der beiden Datenbits auf zwei verschiedenen REST-Diensten beruhte, habe ich die beiden Nachschlagetasks in AddressGeoCoder und TimeZoneCoder aufgeteilt und diese zum Abrufen der Daten und des UserRepository zum Speichern dieser Daten verwendet. Der seltsame Teil dieser Lösung besteht darin, dass diese Methode zwar Zugriff auf das Repository und zwei "Codierer" benötigt, die anderen Methoden in der Klasse jedoch nicht. Also jedes Mal, wenn ich diesen Dienst verwende, um andere Dinge zu tun, bekomme ich Abhängigkeiten, die ich nicht brauche, und dann lasse ich sie fallen. Also hier ist das, was ich frage mich:Basierend auf DDD-Praktiken, wo sollte diese Logik gehen und wie vermeide ich unnötige Abhängigkeiten?
dies in einem Dienst sein sollte oder möglichst in dem ‚User‘ Modellobjekt (da es verschiedene Operationen zu koordinieren) selbst?
Wenn ja, soll ich einen Dienst sein zu definieren, basierend auf es Abhängigkeiten & Bereich von Interesse (d UserGeoCodingService) oder nur Interessengebiet (MappingService) mit zusätzlichen Abhängigkeiten?
Vielen Dank für Ihre Einsicht!
James