Utilizzo del tipo "parziale" per abbreviare il file di classe principale

3

È una pratica normale o un segno di un cattivo design?

Ad esempio, ho una funzione che carica prefabbricati in una classe logica principale vicino a 200 linee e posso spostarla in un file separato LoadPrefabs.cs rendendola partial o rendendola una classe separata e chiamando extra codice solo per new LoadPrefabs(ref prefabs);

Mi manca qualcosa di ovvio, c'è un modo migliore per organizzare grandi classi?

    
posta Serge 04.05.2016 - 03:24
fonte

2 risposte

6

Se la tua classe è troppo grande e ingombrante quando è tutto in un posto e puoi facilmente vederlo tutto, cosa ti fa pensare che spargerlo su più file e rendere più difficile correlare sarà un miglioramento?

Le classi parziali sono essenzialmente un trucco per rendere più semplice il codice generato, come quello prodotto dal form designer, per lavorare insieme con il codice scritto manualmente. Usarli per far funzionare il codice scritto manualmente con altri codici scritti manualmente è generalmente considerato una cattiva idea.

    
risposta data 04.05.2016 - 03:27
fonte
2

Refactor the big function. Probabilmente fa molte cose ripetutamente o quasi, se carica diversi "prefabbricati". Quindi, la logica necessaria per la ripetizione può essere inserita in altre funzioni, che potrebbero aprire più possibilità di refactoring (una o più nuove classi per il caricamento di tipi "prefabbricati", forse?).

Spostare il codice in una classe parziale oscura solo il fatto che la tua classe è più grande di quanto dovrebbe essere.

    
risposta data 05.05.2016 - 02:40
fonte

Leggi altre domande sui tag