Cercando di capire dove alcune responsabilità si trovano nel seguente esempio.
Abbiamo un oggetto Project e un Project può avere% voci% co_de prenotate contro di esso. Ogni voce Time avrà un no. di Time e a Hours .
Vogliamo quindi creare un rapporto che mostri un elenco di progetti, la quantità di ore prenotate e il valore di quel tempo.
Quindi la mia domanda è dove dovrebbero arrivare le voci Rate per i calcoli:
public class Project{
......
public IList<Time> TimeEntries {get;set;}
......
public double HoursBooked(){
this.TimeEntries.Sum(x=>x.Hours);
}
}
o
public class Project{
......
public double HoursBooked(IList<Time> timeEntries){
timeEntries.Sum(x=>x.Hours);
}
}
Lungo linee simili abbiamo alcuni calcoli Time o un Time che dovrà essere convertito in un altro Project se dovessimo passare il Currency come parametro o dovremmo avere un'altra classe puramente responsabile per Currency calcoli che ha proprietà per tutte le raccolte che potrebbero essere necessarie per ottenere il risultato finale?