Ich schreibe ein Spiel in Typescript und habe beschlossen, mich an die Idee der " schnittstellenbasierten Programmierung " zu halten, bei der Sie Code auf der Grundlage einer Schnittstelle anstelle der Implementierung eines Objekts schreiben.
Ich habe eine gute Anzahl von Schnittstellen und Klassen geschrieben, die sie implementieren, bin dann einen Schritt zurückgetreten und habe festgestellt, dass die Klassen so einfach sind, dass ich die Implementierung wahrscheinlich nie ändern muss, da es wirklich nur einen Weg gibt, das zu tun, was die Klasse tut (bewegt sich Phaser.Sprite
auf eine eingeschränkte Weise, um sich wie ein Panzer zu verhalten).
Dann erinnere ich mich, dass ich vor einigen Jahren über die Idee von YAGNI gelesen habe. Grundsätzlich sollten Sie Ihren Code nicht überentwickeln , um Dinge einzuschließen , die Sie möglicherweise nie verwenden.
Sollte jede Klasse nach den Best Practices eine Schnittstelle implementieren oder auf Klassen beschränken, von denen Sie erwarten, dass sie in Zukunft möglicherweise ausgetauscht werden?