google / guice

Najnowsze wydanie: 5.0.1

Dokumentacja: Podręcznik użytkownika, 5.0.1 javadocs, Latest javadocs
Ciągła integracja: Stan budowy
Listy mailingowe: User Mailing List
Licencja: Apache 2.0

Po prostu, Guice łagodzi potrzebę stosowania fabryk i używania new w kodzie Java. Pomyśl o @Inject Guice’a jako o nowym nowym. Nadal będziesz musiał pisać fabryki w niektórych przypadkach, ale twój kod nie będzie od nich bezpośrednio zależny. Twój kod będzie łatwiejszy do zmiany, testowania jednostkowego i ponownego użycia w innych kontekstach.

Guice obejmuje bezpieczną naturę Javy, szczególnie jeśli chodzi o cechy wprowadzone w Javie 5, takie jak generics i adnotacje. Można pomyśleć o Guice jako o uzupełnieniu brakujących funkcji w rdzeniu Javy. Idealnie byłoby, gdyby sam język dostarczał większości tych samych funkcji, ale dopóki taki język się nie pojawi, mamy Guice.

Guice pomaga projektować lepsze API, a samo API Guice daje dobry przykład. Guice nie jest zlewem kuchennym. Każdą cechę uzasadniamy co najmniej trzema przypadkami użycia. Jeśli mamy wątpliwości, pomijamy ją. Budujemy ogólną funkcjonalność, która umożliwia rozszerzenie Guice, zamiast dodawać każdą cechę do rdzenia frameworka.

Guice ma na celu ułatwienie i przyspieszenie rozwoju i debugowania, a nie utrudnienie i spowolnienie. W tym duchu, Guice unika niespodzianek i magii. Użytkownik powinien być w stanie zrozumieć kod z narzędziami lub bez nich, choć narzędzia mogą jeszcze bardziej ułatwić pracę. W przypadku wystąpienia błędów, Guice dokłada wszelkich starań, aby wygenerować pomocne komunikaty.

W celu zapoznania się z Guice i porównania go z new i wzorcem fabrycznym, zobacz prezentację wideo Boba Lee. Następnie zapoznaj się z naszym podręcznikiem użytkownika.

Już od 2006 roku używamy Guice w aplikacjach o znaczeniu krytycznym, a teraz możesz to zrobić i Ty. Mamy nadzieję, że spodoba Ci się tak samo jak nam.

nagroda jolta

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *