Un'alternativa alla tradizionale architettura a più livelli è l'architettura Command-Query Responsibility Segregation (CQRS) come discusso da Udi Dahan.
Come tutte le decisioni architetturali si dovrebbe davvero pensare quando usarlo come discusso here
Personalmente, tendo a vedere un sacco di "over architecture" nel mio software viaggia che può davvero più di complicare le cose e rendere le cose molto più difficili mantenere e ovviamente costa molto di più. Hai davvero bisogno di pensare molto al problema aziendale prima di scegliere semplicemente un'architettura.
Mantenere le cose il più semplice possibile per ottenere i migliori risultati e un facile refactoring.
La convenzione standard utilizza ** livelli ** per i limiti fisici e ** livelli ** per i limiti logici. –