Imagine uma situação em que estamos usando uma biblioteca que permite criar Circle
objetos, 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 flavour
parâmetro necessário . Agora, digamos que eu realmente precise usar Circle
no meu próprio aplicativo, mas para os fins do meu aplicativo, posso definir o sabor Flavours.Cardboard
sempre.
Para "resolver" isso, eu crio minha própria Circle
classe em um espaço para nome diferente, que apenas aceita radius
e center
como parâmetros, mas possui um conversor implícito na Circle
classe 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 ?
makePlayer
que apenas aceita cabos para colocar o jogador, mas delega para um construtor muito mais complexo.