Modułowość w Javie wyjaśniona na przykładzie krok po kroku [2022]

Opublikowany: 2021-01-02

Kiedy 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,

  1. Matematyka. moduł użytkowy
  2. 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.

Przygotuj się na karierę przyszłości

Aplikuj teraz na studia magisterskie z inżynierii oprogramowania