Quali livelli si riferiscono tra loro in un design a più strati? [duplicare]

0

Sto creando un progetto e sto avendo difficoltà e opinioni contrastanti su come fare le cose quando si tratta di separare i livelli. Non sono completamente sicuro di quali strati dovrebbero fare riferimento l'un l'altro.

Ho letto in alcuni blog / post che il flusso dovrebbe essere

  • la vista fa riferimento al livello aziendale
  • il livello aziendale fa riferimento al livello dati
  • il livello dati ne conosce solo sé

D'altra parte ho anche visto il seguente

  • la vista fa riferimento al livello aziendale
  • il livello aziendale conosce solo se stesso
  • il livello dati fa riferimento al livello aziendale

Usando il secondo metodo ho usato il livello aziendale usando IOC ma sono riluttante a progredire senza più conoscenza.

Ho letto un numero di post ma le risposte sembrano molte e varie. Qualsiasi chiarimento sarebbe fantastico.

Grazie

    
posta Jamlow 08.09.2014 - 12:54
fonte

2 risposte

1

Da un'ulteriore lettura sullo stack overflow credo di aver trovato la mia risposta. Non vuoi che il tuo livello aziendale acceda al tuo livello dati, ma piuttosto lo facciano iniettare usando un contenitore IOC. L'utilizzo di questo metodo mi consentirà anche di iniettare oggetti testabili che aiuteranno i test unitari.

Questo è esattamente ciò di cui avevo bisogno. Grazie per il tuo aiuto

    
risposta data 08.09.2014 - 15:06
fonte
1

In generale, non importa. Non chiamerei la seconda versione un'architettura "a strati" poiché i livelli non si impilano nell'ordine corretto. Inoltre, non è chiaro in questo approccio chi "incolla" la vista e il livello dati in modo che lavorino insieme.

La cosa fondamentale è che le relazioni sono non cicliche e unidirezionali. Questo accoppiamento lento consente di sostituire tali dipendenze (IOC o meno) in caso di necessità.

    
risposta data 08.09.2014 - 15:49
fonte

Leggi altre domande sui tag