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?