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?