Witam,
Zaczynam poznawać język Scala, aby zapoznać się nowinkami technicznymi. Chodzi o poszerzenie horyzontów i długoterminowe planowanie poznania nowej technologii. Wcześniej programowałem głównie w javie: JEE i Spring. Mam dwa pytania związane z DI i testami.
- W Javie testowalność w izolacji najczęsciej była otrzymywana za pomocą DI. W Scali z tego co przeczytałem mam dwa podejścia:
a) zastosować wzorzec cake
b) zastosować kontener DI np. MacWire, ScalaDI (chcę pominąć rozwiązania stricte Javowe np. Spring i nauczyć się czegoś nowego typowo scalowego, wydaje mi się, że tak będzie lepiej) - Widziałem, że wraz ze ScalaTest można korzystać z Mockito. Oznacza to, że sporo wiedzy jeśli chodzi o testowanie mógłbym przenieść ze świata Javowego.
Pytania:
- Jaki kontener DI jest mocno w duchu Scali i polecacie (dojrzałość, prostota i możliwości)? Nie musi być lekki, ma być skuteczny i prosty w użyciu jak Spring. Odnosze wrażenie, że temat DI jest znacznie mniej obecny w Scali niż w Javie i nie do końca rozumiem to zjawisko. Zależy mi na prostym rozwiązaniu jak Spring/Weld i o podobnych możliwościach.
- Czy nauka ScalaTest z Mockito to dobry pomysł? Widziałem, że ludzie tak do tego pochodzili.
- Czy na początku poznawania Scali powinienem zrozumieć jak działa Cake Pattern?
Dodam, że równolegle do języzka chcę poznać jeszcze Play Framework. Za jakiś czas chcę dorzucić do tego jakiś messaging w duchu aktorów i solidnie ruszyć z programowaniem współbieżnym.
Osoby nie programujące w Scali proszę o nie wypowiadanie się.
Pozdro i dzięki,