Estou (re) projetando aplicativos em larga escala, usamos arquitetura multicamada baseada em DDD. Temos MVC com camada de dados (implementação de repositórios), camada de domínio (definição de modelo de domínio e interfaces - repositórios, serviços, unidade de trabalho), camada de serviço...