Dove si trova il codice non MVVM in un'app MVVM?

1

Per codice non MVVM, intendo cose come componenti altamente generalizzati, come uno con i metodi di estensione comuni per i tipi CLR e altre classi di helper "senza casa" ecc. Ho un progetto Core a cui la maggior parte degli altri fa riferimento, ma per risolvere le dipendenze circolari ho dovuto rifattorizzare le estensioni di un altro progetto. Questa sembra una sfida comune in un progetto ben strutturato.

In alcuni casi è più semplice e produce una struttura di progetto migliore per avere una copia di una classe in ciascuno di due o più componenti, e non posso usare i link simbolici per queste copie perché lo spazio dei nomi è diverso.

Oppure finirò con un progetto Core piuttosto grasso, che ospita gruppi eterogenei di classi helper. Fino a che granularità posso tener conto di ciò e aumentare il numero di dipendenze dei clienti di questi servizi. Cos'è una convenzione generale qui?

    
posta ProfK 25.01.2014 - 07:36
fonte

1 risposta

1

Nella maggior parte dei progetti MVVM su cui ho lavorato, di solito ci sono un certo numero di librerie "trasversali" accessibili per ogni livello del modello MVVM. Qui è dove inseriremo i GUI / Logging / utilità generali come i metodi di estensione che possono essere utilizzati ovunque. Nella nostra soluzione ci sarebbe una cartella soluzione per ciascuno dei seguenti:

  • Host (Qui è dove risiede l'eseguibile)
  • DA (Data Access Layer)
  • BL (Business Layer, il modello)
  • PL (Presentation Layer, the ViewModels)
  • UI (interfaccia utente, le viste)
  • Servizi (Qui è dove verrà ospitato tutto il codice crossover, ad es. MyProject.Services.UIHelpers)

Spero che questo aiuti.

    
risposta data 25.01.2014 - 09:12
fonte

Leggi altre domande sui tag