Java 開発者にとって、モジュール化は非常に重要なテクノロジです。これは、コードをより適切に整理し、結合を減らし、コードの保守性と可読性を向上させるのに役立ちます。 Java 9 では Jigsaw モジュール システムが導入されており、開発者がモジュール コードを簡単に作成、管理、使用できるようにする新しいモジュール アプローチが提供されます。この記事では、Java の基盤テクノロジーのモジュール化とジグソーを実装する方法を紹介し、具体的なコード例を示します。
1.モジュール性とは何ですか?
モジュール化とは、アプリケーション全体を一連のモジュール (またはコンポーネント) に分割することを指します。各モジュールには独自の機能と責任があり、互いに独立しています。 Java では、モジュールにクラス、インターフェイス、その他のリソース ファイルを含めることができ、外部から提供される API やその他の依存モジュールを指定することもできます。
2. Jigsaw の概要
Jigsaw は Java 9 で導入された主要な機能であり、開発者がモジュラー コードを簡単に作成、管理、使用できるようにする新しいモジュラー アプローチを提供します。 Jigsaw には主に次の機能が含まれています。
3. モジュール化とジグソーの実装
以下では、具体的な例を使用して、ジグソーを使用してモジュール式 Java アプリケーションを実装する方法を示します。 Hello World を印刷するための Hello モジュールと、Hello World を印刷するためのサービスを提供する Greeting モジュールの 2 つのモジュールを含む単純なアプリケーションを作成します。
まず、Greeting モジュールに依存する Hello というモジュールを作成する必要があります。プロジェクトのルートディレクトリに以下の構造を作成します。
hello-module |--src |--hello |--module-info.java |--com |--example |--hello |--Hello.java |--greeting-module |--src |--greeting |--module-info.java |--com |--example |--greeting |--GreetingService.java
HelloモジュールとGreetingモジュールのそれぞれ module-info.java にモジュール情報を定義します。 :
Hello モジュール module-info.java:
module hello { requires greeting; }
Greeting モジュール module-info.java:
module greeting { exports com.example.greeting; }
package com.example.hello; import com.example.greeting.GreetingService; public class Hello { public static void main(String[] args) { GreetingService greetingService = new GreetingService(); System.out.println(greetingService.getGreeting()); } }
package com.example.greeting; public class GreetingService { public String getGreeting() { return "Hello, World!"; } }
javac -d out/hello --module-source-path hello-module/src hello-module/src/hello/module-info.java hello-module/src/com/example/hello/Hello.java javac -d out/greeting --module-source-path greeting-module/src greeting-module/src/greeting/module-info.java greeting-module/src/com/example/greeting/GreetingService.java
java --module-path out/hello --module hello/com.example.hello.Hello
以上がJava基盤技術のモジュール化とジグソー実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。