Typescript'te bir oyun yazıyorum ve bir nesnenin uygulanması yerine bir arabirime dayalı kod yazdığınız " arabirim tabanlı programlama " fikrine uymaya çalışacağım olmaya karar verdim .
Çok sayıda arayüz ve bunları uygulayan sınıflar yazdım, sonra bir adım geri attım ve sınıfların uygulamayı asla değiştirmem gerekmeyecek kadar basit olduğunu fark ettim, çünkü sınıf yapar ( Phaser.Sprite
tank gibi davranmak için kısıtlı bir şekilde hareket etmek).
Sonra birkaç yıl önce YAGNI fikrini okuduğumu hatırlıyorum , temelde kodunuzu asla kullanamayacağınız şeyleri içerecek şekilde aşırı mühendislik yapmamalısınız.
En iyi uygulamaları izleyerek, her sınıf bir arabirim uygulamalı mı, yoksa gelecekte potansiyel olarak değiştirilmesini beklediğiniz sınıflarla mı sınırlandırmalısınız?