Sto creando un design orientato agli oggetti per un'app di cab-call come Uber. Ho alcune delle classi elencate. Sto avendo problemi nel progettare il comportamento tra le classi. Ad esempio, ho queste due classi -
Customer e Driver
Un cliente può chiamare i conducenti e un conducente può accettare una richiesta di guida dai clienti.
Quindi il mio pensiero è Customer class avrà una funzione contactNearByDrivers() . E la classe Driver avrà una funzione come getRideRequest()
Ho due domande qui -
-
Dove dovrebbe essere l'effettiva implementazione di contattare i driver vicini e confermare la risposta del guidatore? Il mio pensiero è che possa esistere una classe di utilità, diciamo
CustomerDriverInteraction. Questa classe avrà in realtà funzioni per contattare da vicino i conducenti e registrare le loro risposte. La funzionecontactNearByDrivers()inCustomerclass creerebbe un'istanza diCustomerDriverInteractione chiamerà le sue funzioni. È un buon modo per farlo? -
Una volta che un autista accetta una richiesta, il cliente e il conducente devono essere collegati insieme per una corsa. Dovrebbe esserci un'altra classe chiamata
Ride? La classeRideavrà unCustomereDriveroggetti come membri, tra gli altri campi. Questo approccio è corretto? Quali sono i modi migliori per progettarlo?