jestem gotowy do picia Kool-Aid :)jaki sposób można użyć Google Guice za @Inject z Scala/(Odtwarzanie 2.4.x)
Gra przenosi się do Google Guice (https://github.com/google/guice) więc myślę, że mam nie ma tu żadnego prawdziwego wyboru, ale trzeba się do nich przyczepić.
Jakoś jednak czegoś brakuje.
Dostaję mentalność "nie nazywajmy nas, do ciebie zadzwonimy" i podstawową przyczynę rozwiązania Dependency Injection - mniej kruchy i bardziej testowalny kod.
Czasami jednak wszystko czego chcę to tylko prosty wykałaczki i nie czują potrzebę upiec ciasto, lub co gorsza napisać kompletny przepis na pieczenie jednego, żeby dostać jeden ...
Scala, wydaje się, że język sprawił, że fabryki wykałaczek są banalne (jednym z argumentów Guice'a jest koszt budowy fabryk (w języku Java) - więc dla mnie ten argument jest co najmniej znikomy z tabeli, ale to nie neguje reszty zagadnień DI wiedzieć).
W scala masz Towarzysza object
(przepraszam, że Serenity retrospekcja - potrzebuję chwili - ok dobra, aby przejść - och i winę Odersky za tę kombinację słów nie ja proszę ...).
Dla klasy Wykałaczka:
case class Toothpick(color: Color)
object Toothpick {
def redPlease = {
Toothpick(Color.RED)
}
}
Oczywiście można uzyskać fantazyjny z apply
i wielu innych subtelności Scala, aby uzyskać dokładny wykałaczką chcesz jedynie odwołując się do „obiektu” Toothpick
:
val myShinyRedToothpick = Toothpick.redPlease
Tak więc w tym przypadku Toothpick
object
jest natychmiastową fabryką.
Ułatwianie robienia czegoś prostego - to po prostu ułatwia.
Przegląd z Google Guice wydaje się być: jednej fabryce z art Them All.
OK - mogę z tym żyć. Oni dostali swoje pierwsze - oni są właścicielami całej ziemi - będziemy wiecznymi udziałowcami. Koniec gry.
Potrzebuję przykładu wykałaczki o tym, jak WYKORZYSTAJ a Guice'd up factory. Jak mogę uzyskać moją dziwną wykałaczkę z kodu NORMAL?
(Tak jak powiedziałem, mogę całkowicie pominąć ten punkt ... więc nie krępuj się, by cokolwiek poradzić sobie z małpami, aby w odpowiednim kierunku skłonić mnie do spojrzenia we właściwym kierunku).
PS: Nie potrzebuję lekcji DLACZEGO - Ja tylko chcę jeden w JAK.
Odersky użył "modułu towarzyszącego". Zmęczyli się tłumaczeniem, że definiujesz moduł z obiektem słów kluczowych. –
@ som-snytt ah ciekawostka historii. Dzięki - używając tego, jak proste pojedyncze słowo może być tak źle zrozumiane :) – Techmag
Przychodzi przez to - może pomóc ... http://www.ibm.com/developerworks/library/j-guice/ – Techmag