Struttura tipica di una soluzione ASP.NET?
-
22-08-2019 - |
Domanda
Come dice il titolo, sono interessato a sapere come strutturi tipicamente le tue soluzioni ASP.NET.
Mi interessa particolarmente Sito Web ASP.NET soluzioni, ma potrebbero essere interessanti anche informazioni su altri tipi (WebApplication, MVC).
Alcune domande specifiche:
- cosa/quanti progetti/assembly contiene la soluzione
- come dai un nome ai tuoi progetti della libreria di classi
- quali spazi dei nomi hai in genere
- hai più spazi dei nomi per progetto/assembly o hai una stretta relazione 1: 1
- eccetera.
Grazie
Soluzione
Uno dei miei progetti assomiglia a:
- Sln
- Sln.Core
- Sln.Core.Test
- Sln.Data
- Sln.Dati.Test
- Sln.Web
- Sln.Web.Test
Core è il modello di dominio e i servizi di dominio, per quanto è possibile eseguirli senza entrare nella persistenza.I dati sono il livello di persistenza, che sostanzialmente significa definizioni FluentNHibernate e implementazioni concrete delle interfacce definite in Core.Il Web è il livello front-end.
Altri suggerimenti
Ho fatto qualcosa di simile a Justice.Ma con meno progetti (e tempi di compilazione più rapidi)
Sln
- Progetto.Core
- Progetto.Web
- Progetto.Test
Project.Core sarà simile a questo
- Deposito
- Dominio
- Presentatore
- Servizio
- Visualizzazione
- Comune
Non ottengo davvero alcun vantaggio da più progetti (più di 3).Non ottieni testabilità e i tempi di compilazione diventano molto più lunghi.
Inoltre, la prima cosa che faccio quando ricevo il progetto di un sito Web è convertirlo in un'applicazione web.Ma nel complesso, i miei progetti non cambiano quando passo tra siti Web e applicazioni Web.
Io di solito uso il nome dell'applicazione per un nome di soluzione (utilizzando la "Soluzione" tipo di progetto generico), poi hanno SolutionName.Site, SolutionName.Domain, SolutionName.Persistence, ecc ... per i progetti in esso contenuti. Sembra per rendere più facile trattare con tutti i riferimenti.
Mi piacerebbe vedere altri popoli risposte però. Anche se questo è il modo migliore che ho trovato non riesco a scuotere la sensazione che ci potrebbe essere uno migliore.