vedo questo tipo di modello (found this example here) molto spesso in Scala:Si tratta di un buon tipo di ritorno per la progettazione delle API di Scala?
class UserActor extends Actor {
def receive = {
case GetUser(id) =>
// load the user, reply with None or Some(user)
val user: Option[User] = ...
sender ! user
case FindAll() =>
// find all users
val users: List[User] = ...
sender ! users
case Save(user) =>
// persist the user
sender ! Right(user)
}
}
Quindi, a seconda della chiamata si ottiene: Opzione [utente], Lista [utente], destro [utente]. Questo approccio va bene! Sto solo chiedendo interesse se questo è ottimale? Ad esempio (e questo potrebbe essere negativo): renderà le API migliori o peggiori per tentare di generalizzare restituendo sempre l'Elenco [Utente]? Quindi, quando un utente non viene trovato o se un salvataggio fallisce, l'elenco sarà semplicemente vuoto. Sono solo curioso .... qualche altro suggerimento su come il suddetto 'modello' può essere migliorato?
Sto solo cercando di individuare un modello perfetto per questo stile di API in cui a volte si trova una sola entità e talvolta nessuno e, talvolta, una lista di loro. Esiste un modo "migliore" per farlo, o ognuno ha il proprio ruolo?
L'elenco può essere vuoto .. L'opzione è buona se vincolata a [0,1], Elenco per [0, n] .. –