Parece-me que ainda não existe um nome para esse tipo de estrutura que você está falando neste tópico. Eu os chamo de momento apenas Estruturas do tipo RAILS : Estruturas que aumentam a produtividade orquestrando outras estruturas existentes com o objetivo de resolver as necessidades básicas da maioria dos aplicativos da Web, mas ao mesmo tempo ocultando todas as complexidades do desenvolvedor.
Por necessidades básicas, entendo a implementação de um provedor de persistência, um contêiner de inyection de dependência, uma ferramenta de registro em log, uma plataforma MVC, um mecanismo de modelos HTML, um Starter Kit de modelos de sites com predefinições CSS, uma estrutura de segurança e alguns recursos da biblioteca Javascript para AJAX e outras coisas legais. As estruturas do tipo RAILS orquestram todas essas estruturas e ferramentas com base no modelo de domínio (as entidades do seu sistema com seus atributos).
Graças ao princípio Convenção sobre a configuração, essas estruturas evitam a necessidade de definir muitos arquivos de configuração geralmente exigidos pelas estruturas que eles orquestram (como Spring, Spring MVC, Hibernate, Log4J etc.), assumindo configurações por padrão com base em nomes. , estrutura e metadados incluídos nas mesmas definições de classes.
Graças às linguagens dinâmicas usadas por essas estruturas (como Ruby, Groovy, Python, Clojure etc.), com exceção do SpringRoo, que implementa o comportamento dinâmico em Java usando o AspectJ, a funcionalidade que pertence às estruturas abaixo é estendida e são disponibilizados ao desenvolvedor de maneira tão uniforme e elegante que ele apenas conhece as tecnologias subjacentes.
Finalmente, graças à técnica do andaime, testes de unidade, testes de integração, controladores e visualizações são gerados automaticamente para as principais funções (CRUD) sobre cada um dos objetos de domínio definidos pelo desenvolvedor.
No mundo .NET, nada foi desenvolvido ainda, seguindo todas as definições anteriores. Mas nada impede que isso ocorra em breve. Já existem ótimas estruturas, ferramentas e bibliotecas disponíveis no mundo .NET que podem ser orquestradas por uma nova estrutura semelhante ao RAILS criada para o CLR. Existem Unity, Spring.NET e Castle Windsor, entre outros, para as necessidades de inyection de dependência. O Entity Framework 4, NHibernate e iBatis.NET são ótimos Provedores de Persistência do .NET. O ASP.NET MVC chegou com suporte para vários mecanismos de modelo além do tradicional ASP.NET.
Mesmo que ninguém consiga usar uma linguagem DLR para criar esse tipo de estrutura, qualquer pessoa com vontade suficiente poderá seguir o caminho do SpringSource e implementar uma estrutura semelhante ao RAILS com alguma linguagem estática como F #, C # ou VB.NET, usando um Aspect - Container orientado (como AspectSharp ou Gripper-LOOM.NET) para obter comportamento dinâmico.
Gostaria muito de saber sobre qualquer grupo de pessoas que tentam desenvolver essa estrutura no .NET.