Imaginez une situation où nous utilisons une bibliothèque qui vous permet de créer des Circleobjets, où vous pouvez spécifier le rayon et le centre du cercle pour le définir. Cependant, pour une raison quelconque, il prend également un flavourparamètre requis . Maintenant, disons que j'ai vraiment besoin d'utiliser Circledans ma propre application, mais pour les besoins de mon application, je peux définir la saveur à Flavours.Cardboardchaque fois.
Pour "résoudre" cela, je crée ma propre Circleclasse dans un espace de noms différent, qui ne prend radiuset centercomme paramètres, mais a un convertisseur implicite à la Circleclasse de la bibliothèque externe qui crée juste un Circle(this.radius, this.center, Flavours.Cardboard)objet. Donc, partout où j'ai besoin de l'autre type de Circle, je laisse la conversion automatique avoir lieu.
Quelles sont les conséquences de la création d'une telle classe? Y a-t-il de meilleures solutions? Cela ferait-il une différence si mon application était une API construite au-dessus de cette bibliothèque externe, destinée à être utilisée par d'autres programmeurs?
MakeCircle fonction ?
makePlayeroù elle-même n'accepte que les accords pour placer le joueur, mais les délègue à un constructeur beaucoup plus complexe.