/ Princípios SOLID do arcabouço de jogo - scala, arquitetura, playframework

Princípios SOLID da estrutura do jogo - scala, arquitetura, playframework

Eu estou aprendendo Scala / Play2.1.3 de um fundo c # / .net / asp.net MVC.

Gostaria de saber por que não há suporte a injeção de dependência por padrão?

Nas amostras Play, todos os métodos de acesso a dados são estáticos nas classes do modelo de domínio. Eles usam fábricas em vez de injeções. E se eu quiser zombar de alguns métodos de acesso a dados para testes unitários?

Não há nenhum ORM de alto nível pronto para uso lá. Na verdade, eles me desencorajam a usar ORMs! Em relação aos bancos de dados SQL, não consigo acreditar que tenha que escrever associações novamente, o que não me lembro da última vez que escrevi uma cláusula de associação. Não é um passo atrás?

Eu aprendi a usar princípios SOLID que não são observados no framework Play (completamente) IMO.

Estou errado o seu eu deveria considerar o uso de outro quadro?

Respostas:

1 para resposta № 1

Você está certo, a maioria das amostras não usa Injeção de Dependência. Mas desde a versão 2.1, é possível injetar os controladores e suas dependências.

Para a injeção de dependência, verifique o doc e também, como teste de unidade (último parágrafo).

Mas como há muitas chamadas estáticas, você pode acabar com alguma referência estática em algum lugar e não conseguirá testar seu código.

Mas acho que o Play é um ótimo framework, a equipe está modularizando cada vez mais o framework, para que ele seja cada vez melhor em relação aos princípios do SOLID.