Java 中的模塊化通過分步示例解釋 [2022]
已發表: 2021-01-02當您開始成為一名 Java 程序員時,會有很多機會。 平均而言,Java 程序員每月的收入約為 69,722 美元,這是一筆可觀的支出。 了解有關印度 Java 開發人員薪水的更多信息。 如果您打算在 Java 編程方面擁有良好的職業生涯,那麼您應該首先學習模塊化。 它是現代軟件編程的重要組成部分之一。 那麼,我們先來了解一下什麼是模塊?
Java中的模塊化是什麼?
模塊更像是通過接口進行通信的獨立軟件分區。 模塊化通過使用與單個遺留架構不同的模塊來探索程序的創建。 它更像是 MVC 架構中的微服務,其中整個系統是一套獨立的服務。
通過模塊化,將軟件環境劃分為不同的模塊,使整個過程更加優化,降低了耦合效應。 它可以幫助 Java 開發人員在開發過程同時進行的同時進行功能測試。
Java 中的模塊化確保通過動態測試和調試減少開發時間。
現在我們了解了模塊化,讓我們了解您為什麼需要它?
閱讀: Java 面試問答

報名參加世界頂尖大學的軟件工程課程。 獲得行政 PG 課程、高級證書課程或碩士課程,以加快您的職業生涯。
為什麼我們需要 Java 模塊化?
模塊化以三種方式幫助 Java 開發人員,
可重用性:可重用性可以幫助開發人員在創建更新版本的軟件或應用程序時使用相同的代碼節省時間。 借助 Java 中的模塊化,您可以在最初開發的軟件之外的其他地方重用這些模塊。
穩定性:模塊化有助於維持軟件的穩定性,同時對代碼的各個部分進行更改。 這意味著新的修改對消費者來說仍然是隱藏的,並且可以在不影響現有軟件的情況下輕鬆測試。
並行開發: Java 開發者可以快速開發相互並行的模塊。 一旦開發了所有模塊,就可以通過接口將它們組合起來以創建一個套件。 使用並行開發可以節省時間。
現在讓我們探索 Java 中模塊化的不同方面。
儘管 Java 9 中引入了模塊化,但我們將通過一個創建計算器的簡單示例來探索 Java 11 的概念。 我們將創建一個簡單而高級的計算器,用於檢查素數,計算它們的總和,判斷一個數是否為偶數。
第 1 步:創建模塊
第一步是創建模塊,您可以根據複雜程度選擇創建多個模塊。 在這裡,我們正在創建兩個不同的模塊,
- 數學。 實用模塊
- 計算器模塊
第一個模塊具有用於執行數學計算的 API 或應用程序接口。 同時,第二個模塊啟動計算器。
第 2 步:執行模塊
我們將通過在 com.upgrad.math.MathUtil 類中實現它來在瀏覽器中執行 API 模塊,
公共靜態布爾isPrime(整數){
if ( 數字 == 1 ) { 返回 false; }
return IntStream.range(2,num).noneMatch(i -> num % i == 0 );
}
我們可以用函數檢查模塊。
公共靜態布爾isEven(整數){
返回數字 % 2 == 0;
}
如果您正在考慮檢查數字是偶數還是奇數,我們可以執行另一個函數。
公共靜態整數 sumOfFirstNEvens(整數計數){
返回 IntStream.iterate(1,i -> i+1)
.filter(j -> isEven(j))
.limit(count).sum();
}
public static Integer sumOfFirstNOdds(Integer count){ return IntStream.iterate(1,i -> i+1) .filter(j -> !isEven(j)) .limit(count).sum(); }

因此,到目前為止,我們在 API 模型上執行了兩個函數並進行了以下觀察。
- 從數字 1 開始有一個無限序列
- 重複過濾數字。
- 數字流是有限的。
- 求數字的總和
基於這些觀察,開發人員可以重構 API 並執行它。
整數 computeFirstNSum(整數計數,
IntPredicate 過濾器){
返回 IntStream.iterate(1,i -> i+1)
.filter(過濾器)
.limit(count).sum();
}
在這裡,我們需要找到受計數限制的數字的總和。 我們還需要在將執行求和的條件下找到數字的過濾器。
讓我們根據我們探索的新條件重新創建 API。
公共靜態整數 sumOfFirstNPrimes(整數計數){
返回 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)));
現在我們已經測試了 API 並對其進行了重構,讓我們將 com.upgrad.math.MathUtil 類放在一個模塊中。
第 3 步:在模塊中插入實用程序類
在名為 math 的模塊中插入一個小的實用程序類。 util,您需要遵循一些約定,例如
- 將API模塊相關的所有代碼放在一個同名目錄下,作為根目錄。
- 在根文件夾中插入 module-info.java
- 將所有的包和代碼放在根目錄下。
第 4 步:為計算器創建模塊定義
我們將創建一個需要 math.utl 的計算器模塊。
模塊計算器{
需要math.util;
}
我們可以通過以下方式編譯代碼,
javac -d mods –模塊源路徑。 $(查找 .-name “*.java”)
一旦我們從 mods 目錄中的calculator 和 math.utl 模塊編譯代碼,一個命令將包括這兩個模塊之間的依賴關係,這是通過編譯器完成的。 無需創建專用工具來創建計算器和 maths.utl 之間的依賴關係。
第五步:執行代碼

一旦你在 mods 目錄和依賴項中都有模塊,現在是執行代碼的時候了。 執行將使我們簡單而高級的計算器付諸行動。
java –module-path mods -m 計算器/com.upgrad.calculator.Calculator
必讀:有趣的 Java 項目和主題
結論
根據一項調查,就新職位發布而言,Java 是第二高的首選語言,這使其成為初學者的絕佳選擇。
如果您有興趣了解有關 Java、OOP 和全棧軟件開發的更多信息,請查看 upGrad 和 IIIT-B 的全棧軟件開發執行 PG 計劃,該計劃專為工作專業人士設計,並提供 500 多個小時的嚴格培訓, 9 個以上的項目和任務、IIIT-B 校友身份、實用的實踐頂點項目和頂級公司的工作協助。
