Quindi, ho esaminato alcune domande simili qui poste riguardo a come questi tre dovrebbero essere usati nella denominazione. Di solito, la risposta è qualcosa sulla falsariga di "è convenzionale" e "basta essere coerenti". Mi chiedo se sia la stessa risposta per la mia domanda.
Ho un'interfaccia StatSet
definita come
public interface StatSet {
int getHitpoints();
int getAttack();
int getDefense();
}
Voglio definire un'implementazione, in cui tutti i campi sono definiti nel costruttore:
public final class ReadOnlyStatSet {
public ReadOnlyStatSet(final int hitpoints, final int attack, final int defense) {
this.hitpoints = hitpoints;
this.attack = attack;
this.defense = defense;
}
public int getHitpoints() {
return hitpoints;
}
public int getAttack() {
return attack;
}
public int getDefense() {
return defense;
}
private final int hitpoints;
private final int attack;
private final int defense;
// no other fields
}
La mia domanda è: è ReadOnlyStatSet
il nome migliore per questo tipo di classe. Oppure, Immutable
sarebbe più adatto. In quale grammatica dovrei usare l'una sull'altra.