Desidero che il mio progetto rispetti i principi SOLID e scriva codice pulito, ma non sono ancora molto chiaro quando dovrei separarmi dal livello di servizio.
Ho un controller Web Api 2.0 chiamato ParkingController che ha il seguente metodo:
public List<Week> GetParkingPlaces(DateTime date)
{
date = DateTime.Now.ToWesternEuropeStandardTime().Date;
return _service.GetWeeks(date);
}
E i metodi di servizio:
public List<Week> GetWeeks()
{
// About 10 lines of logic here, calling CreateDaysInWeek and looping here
return weeks;
}
private Week CreateDaysInWeek(DateTime startOfWeek, List<ParkingPlace> parkingPlaces)
{
// About 10 lines of logic to Create days in week.
return new Week(daysInWeek);
}
Ho separato il metodo GetWeeks in due metodi, uno dei quali è un metodo privato per rendere il mio codice più pulito e più comprensibile. Ora, quando vedo questo metodo privato, penso che sto violando SRP?
La mia domanda è: dovrei separare queste funzioni nella loro classe come WeeksWithDaysCreator
o anche WeeksCreator
chiamando DaysCreator
? O dovrei lasciare questo nella Service Class?
Modifica: voglio sapere quanto codice dovrei inserire nel mio livello di servizio e quando dovrei separare il codice nella sua classe.