Attualmente sto costruendo un piccolo progetto che dovrebbe tenere traccia delle ricette. Ogni ricetta ha un sacco di informazioni, tra cui una valutazione per detta ricetta. Dal momento che la valutazione ha qualche logica aggiuntiva, la metto nella sua classe. Ora sto pensando a come chiamare un voto di voto sul mio oggetto ricetta:
public class Recipe {
private Rating rating = new Rating();
public Rating getRating() {
return this.rating;
}
public void submitVote(int score) {
this.rating.vote(score);
}
}
public class Rating {
private int numberVotes;
private int totalScore;
public double getAverage() {
return totalScore / (double) numberVotes;
}
public void vote(int score) {
// Assure that score is within defined boundaries, for example 0-5
totalScore += score;
numberVotes++;
}
}
public class Main {
public static void main(String[] args) {
Recipe r = new Recipe();
// Option 1
r.getRating().vote(5);
// Option 2
r.submitVote(5);
}
}
Quale di questi è preferibile?