Violaciones de principios Solid - Interface Segregation
Closed this issue · 1 comments
I: Principio de segregacion de Interfaces
La interfaz UNOConstants viola el principio de Interface Segregation, algunas clases que implementan esta interfaz no utilizan todos los métodos, por lo tanto, se podría crear nuevas interfaces segregando esta.
Por ejemplo, la clase UNOCard implementa esa interfaz, sin embargo, no utiliza ninguna característica de la interfaz, sino más bien sus hijas son las que la implementan, sin embargo, nuevamente no todas implementan todas las características proporcionadas por la interfaz.
2) https://github.com/tk-codes/uno
La interfaz GameConstants viola el principio de Interface Segregation, se podría crear nuevas interfaces separando los componentes de esta interfaz, ya que no se utilizan en su totalidad por todas las clases que implementan esta interfaz.
CORRECCIONES:
Se separo los componentes de UNOConstants y GameConstants y se creó dos nuevas interfaces UNOColors y UNOTypes. Para que las clases que antes implementaban las interfaces UNOConstants y GameConstants no estuvieran obligados a tener componentes que nunca iban a usar.
@jazch08 Thank you very much for reporting the issue in detail.
It is clearly very bad to use interfaces for constants. I didn't know solid principles 9 years ago when I started learning Java 🙈 .
Now I have completely rebuilt the core logic in DDD. Interfaces are not misused anymore :)