Vedo solo vantaggi per l'architettura a cipolla rispetto all'architettura a 3 livelli in cui il BL aveva la responsabilità di chiamare metodi su DAL (o un'interfaccia di DAL) per fare CRUD. La cipolla ha una migliore separazione delle preoccupazioni, testabilità, manutenibilità ed è più pulita.
Quindi l'architettura a cipolla è davvero migliore sotto tutti gli aspetti e l'architettura a 3 strati è solo un vecchio modo di fare le cose, o ci sono alcuni scenari in cui dovrei preferire usare l'architettura a 3 strati, se sì - quale?