Domanda

Provenendo da un ambiente IT aziendale, lo standard prevedeva sempre la creazione di un progetto di libreria di classi per ogni livello, logica aziendale, accesso ai dati e talvolta un maggiore isolamento di tipi specifici.

Ora che sto lavorando al mio progetto di applicazione Web, non vedo la reale necessità di isolare il mio codice in questo modo.

Non ho più applicazioni che devono condividere questa logica o abilitare il servizio.Inoltre, non vedo alcun vantaggio negli scenari di distribuzione.

Sono propenso a inserire tutti gli artefatti in un'unica applicazione Web, logicamente separata da cartelle di progetto.

Volevo sapere qual è il pensiero della comunità.


Vorrei aggiungere ulteriori informazioni...

Sto scrivendo questa applicazione utilizzando l'anteprima 5 di MVC, quindi il pezzo di test unitario sarà supportato dalla separazione delle preoccupazioni ereditate dal framework.Mi piace fare i test per tutto!

È stato utile?

Soluzione

Inizia con la cosa più semplice possibile e aggiungi la complessità se e quando necessario.Sembra che un singolo assemblaggio funzionerebbe perfettamente per il tuo caso.Tuttavia, fare attenzione a non violare i livelli facendo in modo che il livello A acceda a un membro interno del livello B.Ciò renderebbe più difficile inserire gli strati in assiemi separati in un secondo momento.

Altri suggerimenti

Direi che dipende da quanto sei serio riguardo ai test e ai test unitari.

Se prevedi di eseguire solo test utente/manuali o di utilizzare fondamentalmente solo test dall'interfaccia utente verso il basso, non fa davvero la differenza.

D'altra parte, se prevedi di eseguire una sorta di test unitario o di convalida delle regole aziendali, ha sicuramente senso suddividere il tuo lavoro in diversi gruppi.

Anche per progetti personali più piccoli, trovo che questo approccio mi semplifichi la vita man mano che il progetto va avanti.Eseguo ancora tutto dalla stessa soluzione, solo con un progetto web per l'interfaccia utente, una libreria per le regole aziendali/logica dell'applicazione e un'altra libreria per il DAL.

Dovresti comunque separare logicamente i livelli nei progetti appropriati.

Questa è una buona pratica ingegneristica, che tu sia solo 1 sviluppatore o 100.L'aspetto negativo del codice tutto in un unico posto è che ti farà rifattorizzare o duplicare il codice per l'espansione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top