Quindi ho un servizio web che ha qualcosa come un getAccount
cui restituirebbe un identificatore all'account se lo avesse ottenuto, altrimenti genera un'eccezione. Il cliente vorrà sempre creare un account se viene generata un'eccezione con le stesse informazioni con cui si ottiene get.
Sto creando una libreria di convenienza per i clienti che gestiranno tutte le chiamate al servizio web all'interno in modo che non debbano sapere come effettuare le chiamate da soli.
Quello che mi chiedo è in questa libreria se dovessi creare un getAccount(accountName)
account che ottenga l'account se esiste, e se non lo crea e restituisce le informazioni, è una cosa negativa da fare? Devo lasciarlo al client per gestire le eccezioni o semplicemente chiamarlo come getOrCreateAccount? Importa?
È una cattiva pratica creare qualcosa in un'operazione get?
acquire
, mi piace acquireAccount
. Non ha un significato esistente in nessuno dei principali protocolli che ho incontrato e ha un anello imperativo che gli si adatta bene. "Fai tutto quello che devi fare per acquisirne uno. Richiedilo, costruiscilo, fingilo, rubalo, non mi interessa, fammene uno o muori provandoci."
getSomething()
è per i getter ed setSomething()
è per i setter. Imo tutto ciò che fa qualcosa di più intellettuale deve essere chiamato qualcos'altro, cioè fetchSomething
, obtainSomething
, computeSomething
, o doSomethingElse
ecc
getOrCreateAccount
o simile.