ステップバイステップの例で説明されたJavaのモジュール性[2022]
公開: 2021-01-02あなたがJavaプログラマーになることを始めたとき、十分な量の機会があります。 平均して、Javaプログラマーは月額約69,722ドルを稼いでおり、これはかなりの支払いです。 インドでのJava開発者の給与の詳細をご覧ください。 Javaプログラミングで健全なキャリアを積むことを計画している場合は、モジュール性を最初に学ぶ必要があります。 これは、最新のソフトウェアプログラミングの重要な部分の1つです。 では、最初にモジュールとは何かを理解しましょう。
Javaのモジュール性とは何ですか?
モジュールは、インターフェイスを介して通信されるソフトウェアの独立したパーティションのようなものです。 モジュール性は、単一のレガシーアーキテクチャとは異なるモジュールを使用してプログラムの作成を検討します。 これは、システム全体が独立したサービスのスイートであるMVCアーキテクチャのマイクロサービスに似ています。
モジュール性により、ソフトウェア環境をさまざまなモジュールに分割することで、プロセス全体がより最適化され、結合効果が減少します。 これは、開発プロセスが同時に進行している間に、Java開発者が外出先で機能テストを実行するのに役立ちます。
Javaのモジュール性により、テストとデバッグをその場で行うことで、開発時間を短縮できます。
モジュール性について理解したので、なぜそれが必要なのかを理解しましょう。
読む: Javaインタビューの質問と回答

世界のトップ大学のソフトウェアエンジニアリングコースに登録します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。
なぜJavaのモジュール性が必要なのですか?
モジュール性は、Java開発者を3つの方法で支援します。
再利用性:再利用性は、開発者がソフトウェアまたはアプリの新しいバージョンを作成するときに同じコードを使用する時間を節約するのに役立ちます。 Javaのモジュール性により、最初に開発されたソフトウェア以外の場所でモジュールを再利用できます。
安定性:モジュール性は、コードの個々のセクションに変更を加えながら、ソフトウェアの安定性を維持するのに役立ちます。 これは、新しい変更がコンシューマーから隠されたままであり、既存のソフトウェアに影響を与えることなく簡単にテストできることを意味します。
並列開発: Java開発者は、モジュールを互いに並列にすばやく開発できます。 すべてのモジュールが開発されたら、それらをインターフェースを介して組み合わせてスイートを作成できます。 並列開発を使用すると、時間を節約できます。
それでは、Javaのモジュール性のさまざまな側面を見ていきましょう。
モジュール性はJava9で導入されましたが、電卓を作成する簡単な例を使用して、Java11の概念を探ります。 素数をチェックし、数が偶数であるかどうかにかかわらず、それらの合計を計算する、シンプルでありながら高度な計算機を作成します。
ステップ1:モジュールを作成する
最初のステップはモジュールを作成することであり、複雑さに応じて複数のモジュールを作成することを選択できます。 ここでは、2つの異なるモジュールを作成しています。
- 算数。 utilモジュール
- 電卓モジュール
最初のモジュールには、数学計算を実行するためのAPIまたはアプリケーションプログラムインターフェイスがあります。 同時に、2番目のモジュールは計算機を起動します。
ステップ2:モジュールを実行する
com.upgrad.math.MathUtilクラスに実装することにより、ブラウザでAPIモジュールを実行します。
public static Boolean isPrime(Integer number){
if(number == 1){falseを返す; }
IntStream.range(2、num).noneMatch(i-> num%i == 0);を返します。
}
モジュールを関数で確認できます。
public static Boolean isEven(Integer number){
戻り値%2 == 0;
}
数値が偶数か奇数かを確認することを検討している場合は、別の関数を実行できます。
public static Integer sumOfFirstNEvens(Integer count){
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モデルで2つの関数を実行し、次のことを観察しました。
- 番号1から始まる無限のシーケンスがあります
- 数字のろ過が繰り返されます。
- 数の流れは限られています。
- 数の合計を見つける
これらの観察に基づいて、開発者はAPIをリファクタリングして実行できます。
整数computeFirstNSum(整数カウント、
IntPredicateフィルター){
IntStream.iterate(1、i-> i + 1)を返します
.filter(filter)
.limit(count).sum();
}
ここでは、カウントによって制限される数の合計を見つける必要があります。 また、合計が実行される条件の数値のフィルターを見つける必要があります。
調査した新しい条件に基づいてAPIを再作成しましょう。
public static Integer sumOfFirstNPrimes(Integer count){
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 –module-source-path。 $(find .-name“ * .java”)
modsディレクトリのcalculatorモジュールとmath.utlモジュールからコードをコンパイルすると、1つのコマンドに、これら2つのモジュール間の依存関係が含まれます。これはコンパイラを介して行われます。 計算機とmaths.utlの間に依存関係を作成するための専用ツールを作成する必要はありません。
ステップ5:コードを実行する

modsディレクトリにモジュールと依存関係の両方を配置したら、今度はコードを実行します。 実行すると、シンプルで高度な計算機が動作します。
java –module-path mods -mcalculator / com.upgrad.calculator.Calculator
必読:興味深いJavaプロジェクトとトピック
結論
調査によると、Javaは、新しい求人情報の観点から2番目に優先される言語であり、初心者にとって最適な言語です。
Java、OOP、フルスタックソフトウェア開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニングを提供します。 9以上のプロジェクトと割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。
