Si spera che una semplice domanda sulla relatività. Sto iniziando a lavorare su un nuovo progetto interno per creare la trattabilità dei dispositivi riparati all'interno degli edifici.
Il database è memorizzato in remoto su un server web e sarà accessibile tramite l'API Web (output JSON) e protetto con OAuth. La GUI di front-end viene eseguita in WPF e il codice aziendale in C #.
Da questo, vedo i diversi livelli Presentazione / Applicazione / Datastore. Ci sarà il codice per la gestione di tutte le chiamate autenticate all'API, la classe per rappresentare le entità (oggetti business), le classi per costruire le entità (oggetti business), le parti per la GUI WPF, le parti dei modelli di visualizzazione WPF e così via.
È meglio crearlo in un singolo progetto o dividerlo in singoli progetti?
Nel mio cuore dico che dovrebbero essere più progetti. L'ho fatto in entrambi i modi in precedenza, e ho trovato che i test erano più semplici con una singola soluzione di progetto, tuttavia con più progetti, quindi le dipendenze ricorsive possono emergere. Soprattutto quando le classi hanno interfacce per rendere più facile il test, ho scoperto che le cose possono diventare scomode.