Architettura onion vs architettura a 3 livelli

9

Vedo solo benefici dell'architettura a cipolla rispetto all'architettura a 3 livelli in cui il BL aveva la responsabilità di chiamare i metodi su DAL (o un'interfaccia di DAL) per eseguire CRUD. La cipolla ha una migliore separazione delle preoccupazioni, testabilità, manutenibilità ed è più pulita.

Quindi l'architettura delle cipolle è davvero migliore sotto tutti gli aspetti e l'architettura a 3 livelli è solo un vecchio modo di fare le cose, o ci sono alcuni scenari in cui preferirei usare l'architettura a 3 strati, se è così - quale?

    
posta BornToCode 29.05.2016 - 15:34
fonte

1 risposta

10

Strati, cipolle, porte, adattatori: è tutto uguale

Poiché questo articolo chiarisce che onion è equivalente all'applicazione 3 layer + del Principio di inversione delle dipendenze (DIP), allora la domanda diventa "dove dovrei preferire usare il DIP?" Direi qualsiasi progetto non giocattolo. L'utilizzo di DIP consente al core del codice di essere più isolato, verificabile e manutenibile. Quando non ti interessa davvero è quando si tratta di un progetto a eliminazione diretta o quando stai scambiando la manutenibilità per le prestazioni (non ne vale la pena per la maggior parte delle app).

Inoltre, non confondere DIP con i contenitori DI. Uno non implica l'altro.

    
risposta data 13.06.2016 - 16:37
fonte

Leggi altre domande sui tag