Modułowość w Javie wyjaśniona na przykładzie krok po kroku [2022]
Opublikowany: 2021-01-02Kiedy zaczynasz być programistą Java, masz wiele możliwości. Średnio programista Java zarabia około 69 722 USD miesięcznie, co jest sporą wypłatą . Dowiedz się więcej o wynagrodzeniu programisty Java w Indiach. Jeśli planujesz zrobić dobrą karierę w programowaniu Java, modułowość jest czymś, czego powinieneś się najpierw nauczyć. Jest to jedna z istotnych części współczesnego programowania oprogramowania. Więc najpierw zrozummy, czym jest moduł?
Czym jest modułowość w Javie?
Moduł jest bardziej jak niezależna partycja oprogramowania komunikowana przez interfejs. Modułowość bada tworzenie programu przy użyciu innych modułów niż jedna starsza architektura. Bardziej przypomina mikrousługi w architekturze MVC, gdzie cały system jest zestawem niezależnych usług.
Dzięki modułowości podział środowiska oprogramowania na różne moduły sprawia, że cały proces jest bardziej zoptymalizowany i zmniejsza efekt sprzężenia. Pomaga programistom Java w przeprowadzaniu testów funkcjonalności w podróży, podczas gdy proces rozwoju jest w toku.
Modułowość w Javie zapewnia skrócenie czasu programowania dzięki testowaniu i debugowaniu w locie.
Teraz, gdy wiemy o modułowości, zrozummy, dlaczego jej potrzebujesz?
Przeczytaj: Pytania i odpowiedzi dotyczące rozmowy kwalifikacyjnej w języku Java

Zapisz się na kursy inżynierii oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Dlaczego potrzebujemy modułowości Javy?
Modułowość pomaga programiście Java na trzy sposoby,
Ponowne użycie: Ponowne użycie może pomóc programistom zaoszczędzić czas przy użyciu tego samego kodu podczas tworzenia nowszej wersji oprogramowania lub aplikacji. Dzięki modułowości w Javie można ponownie wykorzystać moduły w innym miejscu niż początkowo opracowane oprogramowanie.
Stabilność: Modułowość pomaga utrzymać stabilność oprogramowania podczas wprowadzania zmian w poszczególnych sekcjach kodu. Oznacza to, że nowe modyfikacje pozostają ukryte przed konsumentami i można je łatwo przetestować bez wpływu na istniejące oprogramowanie.
Programowanie równoległe: programiści Java mogą szybko tworzyć moduły równolegle do siebie. Po opracowaniu wszystkich modułów można je połączyć za pomocą interfejsu w celu stworzenia pakietu. Korzystanie z rozwoju równoległego może zaoszczędzić czas.
Przyjrzyjmy się teraz różnym aspektom modularności w Javie.
Chociaż modułowość została wprowadzona w Javie 9, zbadamy koncepcję Javy 11 na prostym przykładzie tworzenia kalkulatora. Stworzymy prosty, a zarazem zaawansowany kalkulator, który sprawdzi liczby pierwsze, wyliczy ich sumę, czy liczba jest parzysta czy nie.
Krok 1: Tworzenie modułu
Pierwszym krokiem jest utworzenie modułów i możesz wybrać tworzenie wielu modułów zgodnie ze złożonością. Tutaj tworzymy dwa odrębne moduły,
- Matematyka. moduł użytkowy
- Moduł kalkulatora
Pierwszy moduł posiada API lub interfejs programu aplikacyjnego do wykonywania obliczeń matematycznych. W tym samym czasie drugi moduł uruchamia kalkulator.
Krok 2: Wykonywanie modułów
Wykonamy moduł API w przeglądarce implementując go w klasie com.upgrad.math.MathUtil,
public static Boolean isPrime (liczba całkowita){
if ( liczba == 1 ) { return false; }
return IntStream.range(2,num).noneMatch(i -> num % i == 0 );
}
Możemy sprawdzić moduł za pomocą funkcji.
public static Boolean isEven (liczba całkowita){
liczba zwracana % 2 == 0;
}
Jeśli myślisz o sprawdzeniu liczb pod kątem parzystych lub nieparzystych, możemy wykonać inną funkcję.
public static Integer sumOfFirstNEvens (liczba całkowita){

return IntStream.iterate(1,i -> i+1)
.filter(j -> isEven(j))
.limit(liczba).sum();
}
public static Integer sumOfFirstNOdds(Integer count){ return IntStream.iterate(1,i -> i+1) .filter(j -> !isEven(j)) .limit(count).sum(); }
Do tej pory wykonaliśmy dwie funkcje na modelach API i poczyniliśmy następujące obserwacje.
- Istnieje nieskończona sekwencja zaczynająca się od numeru 1
- Filtracja liczb jest powtarzana.
- Strumień liczb jest ograniczony.
- Znajdowanie sumy liczb
Na podstawie tych obserwacji programista może dokonać refaktoryzacji interfejsu API i wykonać go.
Integer computeFirstNSum (liczba całkowita,
Filtr IntPredicate){
return IntStream.iterate(1,i -> i+1)
.filtr(filtr)
.limit(liczba).sum();
}
Tutaj musimy znaleźć sumę liczb, która jest ograniczona przez liczbę. Będziemy też musieli znaleźć filtr dla liczb w warunkach, dla których zostanie wykonane sumowanie.
Odtwórzmy interfejsy API na podstawie nowych warunków, które zbadaliśmy.
public static Integer sumOfFirstNPrimes (liczba całkowita){
return computeFirstNSum(count, (i -> isPrime(i)));
}
public static Integer sumOfFirstNEvens(Integer count){ return computeFirstNSum(count, (i -> isEven(i))); }
public static Integer sumOfFirstNOdds(Integer count){ return computeFirstNSum(count, (i -> !isEven(i)));
Teraz, po przetestowaniu interfejsów API i ich refaktoryzacji, umieśćmy klasę com.upgrad.math.MathUtil w module.
Krok 3: Wstawianie klasy użytkowej do modułu
Aby wstawić małą klasę narzędziową do modułu o nazwie math. ale musisz przestrzegać pewnych konwencji, takich jak
- Umieść cały kod związany z modułem API w katalogu o tej samej nazwie i użyj go jako katalogu głównego.
- Wstaw module-info.java do folderu głównego
- Umieść wszystkie pakiety i kody w katalogu głównym.
Krok 4: Tworzenie definicji modułu dla kalkulatora
Stworzymy moduł kalkulatora, który wymaga math.utl.
kalkulator modułów{
wymaga Math.util;
}
Możemy skompilować kod, wykonując następujące czynności:
javac -d mods –ścieżka-źródła-modułu . $(znajdź . -nazwa „*.java”)
Gdy skompilujemy kody z kalkulatora i modułów math.utl w katalogu mods, pojedyncze polecenie będzie zawierało zależności między tymi dwoma modułami, co jest wykonywane za pomocą kompilatora. Nie ma potrzeby tworzenia dedykowanych narzędzi do tworzenia zależności między kalkulatorem a maths.utl.
Krok 5: Wykonaj kod

Gdy masz już oba moduły w katalogu mods i zależności, nadszedł czas na wykonanie kodu. Wykonanie uruchomi nasz prosty i zaawansowany kalkulator.
java –moduły ścieżki modułu -m kalkulator/com.upgrad.calculator.Calculator
Musisz przeczytać: Ciekawe projekty i tematy Java
Wniosek
Według ankiety Java jest drugim najbardziej preferowanym językiem pod względem nowych ofert pracy, co czyni ją doskonałym wyborem dla początkujących.
Jeśli chcesz dowiedzieć się więcej o Javie, programach OOP i tworzeniu pełnego stosu oprogramowania, zapoznaj się z programem Executive PG UpGrad i IIIT-B w zakresie tworzenia pełnego stosu oprogramowania, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznego szkolenia, Ponad 9 projektów i zadań, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.
