Imagine uma situação em que estamos usando uma biblioteca que permite criar Circleobjetos, onde você pode especificar o raio e o centro do círculo para defini-lo. No entanto, por algum motivo, também é necessário um flavourparâmetro necessário . Agora, digamos que eu realmente precise usar Circleno meu próprio aplicativo, mas para os fins do meu aplicativo, posso definir o sabor Flavours.Cardboardsempre.
Para "resolver" isso, eu crio minha própria Circleclasse em um espaço para nome diferente, que apenas aceita radiuse centercomo parâmetros, mas possui um conversor implícito na Circleclasse da biblioteca externa que apenas cria um Circle(this.radius, this.center, Flavours.Cardboard)objeto. Então, em todo lugar que eu preciso do outro tipo Circle, deixo a conversão automática ocorrer.
Quais são as conseqüências da criação dessa classe? Existem soluções melhores? Faria alguma diferença se meu aplicativo fosse uma API construída sobre essa biblioteca externa, destinada ao uso por outros programadores?
MakeCircle função ?
makePlayerque apenas aceita cabos para colocar o jogador, mas delega para um construtor muito mais complexo.