Ho un compito semplice questo è quello che mi serve il codice da fare:
- Leggi i dati da una risorsa REST di terze parti.
- Analizza l'oggetto JSON in modo che corrisponda alla mia struttura interna.
- Salva i dati analizzati nel mio database.
Potrei semplicemente essere pigro e fare tutto in un unico metodo, ma voglio applicare le migliori pratiche, applicare i test e avere un codice pulito, ma fare attenzione alla sovrastruttura.
Il mio piano è di avere tre classi separate.
1. RestResourceReader
List<OriginalResourceDTO> GetAll()
2. Parser
List<ParsedResourceDTO> Parse(List<OriginalResourceDTO>)
3. ResourceRepository
void Insert(List<ParsedResourceDTO>)
Quindi in queste tre classi ho tutte le funzionalità necessarie. Quindi qualcosa deve orchestrare quelle tre classi per fare qualcosa di utile.
Devo chiamare queste tre classi all'interno di "Main" in un'app console?
O dovrei creare una quarta classe chiamata Syncer, dove avrà un metodo di sincronizzazione che chiamerà tutte le funzionalità, e quindi chiamerà semplicemente quel metodo all'interno di Main?
Non so a volte mi sento come se stessi ingannando qualcosa di troppo semplice.