Imagine una situación en la que estamos usando una biblioteca que le permite crear Circleobjetos, donde puede especificar el radio y el centro del círculo para definirlo. Sin embargo, por alguna razón, también toma un flavourparámetro requerido . Ahora digamos que realmente necesito usar Circlemi propia aplicación, pero para los fines de mi aplicación puedo configurar el sabor para que sea Flavours.Cardboardcada vez.
Para "resolver" esto, creo mi propia Circleclase en un espacio de nombres diferente, que solo toma radiusy centercomo parámetros, pero tiene un convertidor implícito a la Circleclase de la biblioteca externa que simplemente crea un Circle(this.radius, this.center, Flavours.Cardboard)objeto. Entonces, donde sea que necesite el otro tipo de Circle, dejo que la conversión automática tenga lugar.
¿Cuáles son las consecuencias de crear tal clase? ¿Hay alguna solución mejor? ¿Habría alguna diferencia si mi aplicación fuera una API construida sobre esta biblioteca externa, destinada a ser utilizada por otros programadores?
fuente

MakeCirclefunción ?makePlayerque solo acepta las coordenadas para colocar al jugador, pero delega en un constructor mucho más complejo.