Модульность в Java объясняется пошаговым примером [2022]

Опубликовано: 2021-01-02

Когда вы собираетесь стать программистом на Java, перед вами открываются широкие возможности. В среднем Java-программист зарабатывает около 69 722 долларов в месяц, что является приличной выплатой . Узнайте больше о зарплате Java-разработчика в Индии. Если вы планируете сделать хорошую карьеру в программировании на Java, то модульность — это то, чему вы должны научиться в первую очередь. Это одна из жизненно важных частей современного программирования. Итак, давайте сначала разберемся, что такое модуль?

Что такое модульность в Java?

Модуль больше похож на независимый раздел программного обеспечения, который сообщается через интерфейс. Модульность исследует создание программы с использованием модулей, отличных от одной устаревшей архитектуры. Это больше похоже на микросервисы в архитектуре MVC, где вся система представляет собой набор независимых сервисов.

Благодаря модульности разделение программной среды на различные модули делает весь процесс более оптимизированным и уменьшает эффект сопряжения. Это помогает разработчикам Java выполнять функциональное тестирование на ходу, в то время как процесс разработки продолжается одновременно.

Модульность в Java гарантирует сокращение времени разработки за счет тестирования и отладки на лету.

Теперь, когда мы знаем о модульности, давайте поймем, зачем она вам нужна?

Читайте: Java-интервью, вопросы и ответы

Запишитесь на курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Зачем нужна модульность Java?

Модульность помогает Java-разработчику тремя способами:

Возможность повторного использования: возможность повторного использования может помочь разработчикам сэкономить время, используя тот же код при создании более новой версии программного обеспечения или приложения. Благодаря модульности в Java вы можете повторно использовать модули в других местах, а не в изначально разработанном программном обеспечении.

Стабильность. Модульность помогает поддерживать стабильность программного обеспечения при внесении изменений в отдельные участки кода. Это означает, что новые модификации остаются скрытыми от потребителей и могут быть легко протестированы, не затрагивая существующее программное обеспечение.

Параллельная разработка: Java-разработчики могут быстро разрабатывать модули параллельно друг другу. Как только все модули будут разработаны, их можно объединить через интерфейс для создания набора. Использование параллельной разработки может сэкономить время.

Теперь давайте рассмотрим различные аспекты модульности в Java.

Хотя модульность была представлена ​​в Java 9, мы рассмотрим концепцию Java 11 на простом примере создания калькулятора. Мы создадим простой и в то же время продвинутый калькулятор, который проверяет простые числа, вычисляет их сумму, четное число или нет.

Шаг 1: Создание модуля

Первым шагом является создание модулей, и вы можете создать несколько модулей в зависимости от сложности. Здесь мы создаем два отдельных модуля,

  1. Мат. модуль утилиты
  2. Модуль калькулятора

Первый модуль имеет API или интерфейс прикладной программы для выполнения математических расчетов. В то же время второй модуль запускает калькулятор.

Шаг 2: Выполнение модулей

Мы выполним модуль API в браузере, реализовав его в классе com.upgrad.math.MathUtil,

общественное статическое логическое значение isPrime (целое число) {

если (число == 1) { вернуть ложь; }

вернуть IntStream.range(2,num).noneMatch(i -> num % i == 0 );

}

Мы можем проверить модуль с помощью функции.

общественное статическое логическое значение isEven (целое число) {

число возврата % 2 == 0;

}

Если вы думаете о проверке чисел на предмет того, четные они или нечетные, мы можем выполнить другую функцию.

public static Integer sumOfFirstNEvens (счетчик целых чисел) {

вернуть IntStream.iterate (1, я -> я + 1)

.фильтр (j -> isEven (j))

.лимит(количество).сумма();

}

public static Integer sumOfFirstNOdds(Integer count){ return IntStream.iterate(1,i -> i+1) .filter(j -> !isEven(j)) .limit(count).sum(); }

Итак, пока мы выполнили две функции на моделях API и сделали следующие наблюдения.

  • Существует бесконечная последовательность, начинающаяся с номера 1
  • Фильтрация номеров повторяется.
  • Поток номеров ограничен.
  • Нахождение суммы чисел

На основе этих наблюдений разработчик может реорганизовать API и выполнить его.

Целочисленное вычислениеFirstNSum(число целых чисел,

Фильтр IntPredicate){

вернуть IntStream.iterate (1, я -> я + 1)

.фильтр(фильтр)

.лимит(количество).сумма();

}

Здесь нам нужно найти сумму чисел, которая ограничена количеством. Также нам потребуется найти фильтр для чисел, по условиям которых будет выполняться суммирование.

Давайте воссоздадим API на основе изученных нами новых условий.

public static Integer sumOfFirstNPrimes (число целых чисел) {

вернуть calculateFirstNSum(count, (i -> isPrime(i)));

}

public static Integer sumOfFirstNEvens(Integer count){ return calculateFirstNSum(count, (i -> isEven(i))); }

public static Integer sumOfFirstNOdds(Integer count){ return calculateFirstNSum(count, (i -> !isEven(i)));

Теперь, когда мы протестировали API и провели их рефакторинг, давайте поместим класс com.upgrad.math.MathUtil в модуль.

Шаг 3: Вставка служебного класса в модуль

Чтобы вставить небольшой служебный класс в модуль с именем math. util, вам нужно следовать некоторым соглашениям, таким как

  • Поместите весь код, связанный с модулем API, в каталог с таким же именем и используйте его в качестве корневого каталога.
  • Вставьте module-info.java в корневую папку
  • Поместите все пакеты и коды в корневой каталог.

Шаг 4: Создание определения модуля для калькулятора

Мы создадим модуль калькулятора, который требует math.utl.

модуль калькулятор{

требуется math.util;

}

Мы можем скомпилировать код следующим образом:

javac -d mods – путь-источник-модуля. $(найти .-имя «*.java»)

Как только мы скомпилируем коды из модулей калькулятора и math.utl в каталоге модов, одна команда будет включать зависимости между этими двумя модулями, что делается с помощью компилятора. Нет необходимости создавать специальные инструменты для создания зависимостей между калькулятором и maths.utl.

Шаг 5: Выполните код

Когда у вас есть и модули в каталоге модов, и зависимости, самое время выполнить код. Выполнение приведет в действие наш простой и продвинутый калькулятор.

java –module-path mods -m калькулятор/com.upgrad.calculator.Calculator

Обязательно к прочтению: интересные Java-проекты и темы

Заключение

Согласно опросу , Java является вторым по популярности языком с точки зрения размещения новых вакансий, что делает его отличным выбором для начинающих.

Если вам интересно узнать больше о Java, ООП и разработке программного обеспечения с полным стеком, ознакомьтесь с программой Executive PG upGrad и IIIT-B по разработке программного обеспечения с полным стеком, которая предназначена для работающих профессионалов и предлагает более 500 часов интенсивного обучения. Более 9 проектов и заданий, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Подготовьтесь к карьере будущего

Подать заявку на получение степени магистра в области разработки программного обеспечения