Sono impegnato nello sviluppo di codice che elabora un gruppo di oggetti che rappresentano rapporti mensili per regioni (ad esempio, un'istanza per regione al mese). Chiamiamoli RegionMonthlyReport
oggetti. Alla fine del mese, è necessario creare un nuovo set di RegionMonthlyReport
s per il mese successivo che viene popolato con valori di determinati campi dell'originale RegionMonthlyReport
s.
In una parte del mio codice, queste copie saranno salvate nel database, in modo tale che abbiamo una serie completa di regioni a tempo pieno al mese: diciamo che avevamo 10 regioni, avremmo 10 record per un singolo mese; dopo un anno intero di questo, avremo 10 regioni x 12 mesi = 120 record.
La mia domanda è: dove dovrei implementare un metodo per creare la 'copia' dell'oggetto RegionMonthlyReport
e quali sono i pro / contro di un approccio preferito? Dovrebbe essere
- Un metodo su
RegionMonthlyReport
stesso, comeRegionMonthlyReport.CreateCopy(newMonth)
- Un metodo statico in una classe di utilità, come
StaticUtilityClass.CreateRegionMonthlyReportCopy(sourceRegionMonthlyReport, newMonth)
- Qualcos'altro
Nota che non sto parlando di alcun metodo Copy
in un framework. Questa è una domanda sul design della soluzione. FWIW sto sviluppando in .NET / C #
Questa domanda sembra essere piuttosto rilevante - e indica che la seconda opzione potrebbe essere migliore - ma sono troppo un principiante per generalizzare con certezza il mio caso.