J'écris un jeu en Typescript, et j'ai décidé d'aller dans le sens où j'allais essayer d'adhérer à l'idée de " programmation basée sur l'interface ", où vous écrivez du code basé sur une interface, au lieu de l'implémentation, d'un objet.
J'ai écrit un bon nombre d'interfaces et de classes qui les implémentent, puis j'ai pris du recul et j'ai réalisé que les classes étaient assez simples pour que je n'aie probablement jamais besoin de changer l'implémentation, car il n'y a vraiment qu'une seule façon de faire ce que le la classe fait (déplacer un Phaser.Sprite
d'une manière restreinte pour agir comme un tank).
Ensuite, je me souviens avoir lu il y a quelques années sur l'idée de YAGNI , qui est fondamentalement que vous ne devriez pas sur-concevoir votre code pour inclure des choses que vous n'utiliserez peut-être jamais.
En suivant les meilleures pratiques, chaque classe devrait-elle implémenter une interface, ou devriez-vous la limiter aux classes que vous prévoyez d'être potentiellement remplacées à l'avenir?