En surfant un peu, j'ai trouvé l'article suivant:
http://jonasboner.com/2008/10/06/rea...ection-di.html
Celui-ci explique que Scala possède au niveau du langage tout le nécessaire pour faire de l'injection de dépendances - donc sans requérir l'utilisation d'un framework spécialisé.
Je ne vais pas répéter l'ensemble de l'article ici, mais au final, toute la configuration se fait dans un object Scala "ordinaire":
Et quand à l'utilisation elle se fait le plus simplement du monde, sans avoir à se préoccuper du "câblage" des composants:
Code scala : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 object ComponentRegistry extends UserServiceComponent with UserRepositoryComponent { val userRepository = new UserRepository val userService = new UserService }
Code scala : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 val userService = ComponentRegistry.userService val user = userService.authenticate(..)
Un argument fort qui est cité est que l'ensemble est statiquement typé. Ce qui permet au compilateur de détecter les incohérences de type - et réduit les surprises au déploiement.
Que pensez-vous de ce genre de technique? Est-ce que l'argument de la vérification des types donne vraiment un avantage concurrentiel à Scala sur ce point? Est-ce que cela pourrait motiver votre adoption de ce langage?
- Sylvain
Partager