Constructores con demasiados parámetros

MJDeveloping:

Sin dar demasiado lejos, estoy haciendo un objeto que tiene 9 atributos. Vamos a utilizar un juego de rol por ejemplo.

float strength, constitution, fortitude, dexterity, intelligence, charisma, wisdom, willpower, perception;

Dado que el objeto se llama jugador, el constructor de

public Player(float strength, float constitution, float fortitude, float dexterity, 
float intelligence, float charisma, float wisdom, float willpower, float perception){}

Según SonarLint: "Constructor tiene 9 parámetros, que es mayor que 7 autorizado."

Aunque sé que SonarLint diciendo que no se detiene el código realmente funciona, si hay una manera "correcta" de hacer frente a estas situaciones, me gustaría saber!

Gracias

Ps, si este es el foro equivocado para una pregunta, por favor me apuntan hacia la correcta!

Tom Hawtin - tackline:

Lo ideal sería dividir la clase en unidades más pequeñas y componer.

En este caso, ya que parecen ser todas del mismo tipo de cosas, un Map(específicamente EnumMap) que parece ser apropiada.

Como último recurso, no es el Builder.

 Player player = Player.builder()
     .strength(       )
     .constitution(   )
     // ...
     .perception(     );

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=370977&siteId=1
Recomendado
Clasificación