Organizzazione dei modelli in ASP.NET MVC

1

Sto costruendo siti Web in ASP.NET MVC e ho rapidamente capito che i miei modelli diventano sempre più difficili da organizzare man mano che crescono.

Quello che faccio normalmente è creare un modello per aggiungere e modificare i dati. Ma nella mia vista aggiunta ho 2 proprietà extra. Quindi sto riutilizzando lo stesso modello con 2 proprietà extra ma non uso queste mie view di modifica.

Ora ho alcune domande su questo.

Come lo organizzi?

  • Crei una classe file con più modelli o è meglio creare un nuovo file per ogni modello?

  • È meglio creare un nuovo modello se ti servono altre proprietà?

posta Jamie 22.04.2014 - 10:21
fonte

2 risposte

0

In teoria, ogni vista dovrebbe avere il proprio Viewmodel. Un Viewmodel (specialmente con un'interfaccia utente basata sul Web) è il metodo per rappresentare lo stato o l'input pertinente dalla vista. Con questo in mente, ci sarebbe una modifica di Viewmodel e una creazione di Viewmodel.

Tuttavia, in pratica, la modifica e la creazione sono azioni quasi identiche per quanto riguarda la vista. Probabilmente ci sarà una minima differenza tra gli schermi (in questo caso, solo due campi?), Ed entrambi rappresentano generalmente lo stesso oggetto. Io personalmente uso lo stesso Viewmodel per entrambe le visualizzazioni, nonostante un piccolo pezzetto di differenza funzionale. In generale, direi che motivo i campi non sono usati è rilevante se si debba riutilizzare o meno il modello. Riutilizzare un Viewmodel per rappresentare la stessa struttura di dati generale in due punti separati è probabilmente corretto, ma riutilizzare una classe solo perché accade per avere le proprietà giuste con i nomi giusti sta infrangendo il modello.

Riguardo i file, specialmente durante l'utilizzo di un IDE come Visual Studio che offre un buon project explorer, è meglio mantenere una classe per file. Quando il codice è compilato, non fa assolutamente alcuna differenza, quindi escludendo i problemi del file system, si tratta di usabilità e facilità di interazione con il programmatore. Considerando anche il controllo del codice sorgente, in cui potresti essere in grado di eseguire il commit file per file, è meglio non raggruppare più di una classe. Quando cambi una classe, solo una di queste classi viene considerata "modificata", ma tutte le altre classi nel file saranno incluse.

    
risposta data 22.04.2014 - 16:14
fonte
0

Non è consigliabile inserire più classi in un singolo file. Un file, una classe, una responsabilità.

Per quanto riguarda i modelli, incoraggerei le persone a creare un nuovo modello o creare un'astrazione con proprietà comuni e quindi ereditare da quell'astrazione. Quindi avresti una classe astratta e due classi che ne ereditano.

    
risposta data 22.04.2014 - 10:25
fonte

Leggi altre domande sui tag