Ho due idee su come procedere con una classe di disponibilità, ma non sono sicuro di quale sia la migliore.
public class TimeRange {
private Timestamp startTime;
private Timestamp endTime;
public TimeRange() {
//set defaults
}
// appropriate getters
//setters
public void setStartTime(Timestamp startTime) {
this.startTime = startTime;
}
public void setEndTime(Timestamp endTime) {
this.endTime = endTime;
}
// some code that validates the object is in a valid state.
}
Prima idea:
public class WeeklyAvailabilities {
private TimeRange mondaySlot;
private TimeRange tuesdaySlot;
private TimeRange wednesdaySlot;
private TimeRange thursdaySlot;
private TimeRange fridaySlot;
private TimeRange saturdaySlot;
private TimeRange sundaySlot;
public WeeklyAvailabilities() {
// set defaults
}
// some getters and such
public void setMondayStartTime(Timestamp start) {
mondaySlot.setStartTime(start);
}
public void setMondayEndTime(Timestamp end) {
mondaySlot.setEndTime(end);
}
// continue the pattern for all the slots
}
Seconda idea:
public class WeeklyAvailabilities {
private TimeRange mondaySlot;
private TimeRange tuesdaySlot;
private TimeRange wednesdaySlot;
private TimeRange thursdaySlot;
private TimeRange fridaySlot;
private TimeRange saturdaySlot;
private TimeRange sundaySlot;
public WeeklyAvailabilities() {
// set defaults
}
// some getters and such
public void setMondaySlot(TimeRange mondaySlot) {
this.mondaySlot = mondaySlot;
}
// continue the pattern for all the slots
}
Sono in conflitto a causa del fatto che la prima idea non richiede la creazione di un nuovo oggetto ogni volta che la seconda idea richiede qualcosa del genere. Mi chiedo davvero se potrei avere qualche input su quale sia migliore o se ci potrebbe essere una terza opzione che sto trascurando completamente.