Então, eu tenho um serviço da web que tem algo como um getAccount
onde ele retornaria um identificador para a conta, se o obtivesse, caso contrário, lance uma exceção. O cliente sempre desejará criar uma conta se uma exceção for lançada com as mesmas informações com as quais a obtenção é feita.
Estou criando uma biblioteca de conveniência para os clientes que manipularão todas as chamadas de serviço da Web para que não precisem saber como fazer as chamadas.
O que me pergunto é nesta biblioteca se eu deveria criar um getAccount(accountName)
que obterá a conta, se existir, e se não o criar e retornar as informações, isso é uma coisa ruim a se fazer? Devo deixar que o cliente lide com as exceções ou simplesmente nomeie algo como getOrCreateAccount? Isso importa?
É uma prática ruim criar algo em uma operação get?
acquire
, gosto acquireAccount
. Ele não tem um significado existente em nenhum dos principais protocolos que encontrei e possui um anel imperativo adequado para isso. "Faça o que for necessário para adquirir um desses para mim. Solicite, construa, falsifique, roube, não me importo, apenas pegue um ou morra tentando."
getSomething()
é para getters e setSomething()
é para setters. Imo qualquer coisa que faz algo mais intelectual deve ser chamado outra coisa, ou seja fetchSomething
, obtainSomething
, computeSomething
, ou doSomethingElse
etc.
getOrCreateAccount
ou similar.