さまざまなアプリケーションで使用できるJavaの再利用可能なコンポーネントを作成する適切な方法は何ですか? たとえば、独自のユーザー インターフェイスとデータベースなどを持つアプリケーションを実行しているということです。このアプリを他のアプリケーションのコンポーネントとして他の多くのアプリケーションで再利用できるようにしたい場合。たとえば、最初のアプリの 1 つの機能が他のアプリで必要になる場合があります。したがって、元のコードを変更せずに、他のアプリが私のアプリのこの機能を使用できるようにする方法. この再利用性を実現する適切な方法は何ですか。
5 に答える
非常にうまく機能する単純なものを書きます。それを文書化し、単体テストを行い、オープンソースにします。
再利用可能なコンポーネントを別のプロジェクト (「共通」など) に配置し、それらを .jar としてパッケージ化します。次に、必要なプロジェクトにその jar を含めます。
ただし、別のプロジェクトを抽出するのは難しいかもしれません。次の点に注意してください。
- 共通コンポーネントは、より高いレベルの抽象化に依存してはなりません (つまり、サービスに UI 関連の依存関係があってはなりません)。
- コンポーネントの内部は、それらを使用するアプリケーションから見えてはなりません。つまり、jar は最小限の API を公開する必要があります。
パッケージ化の仕組みにはいくつかのオプションがあります。
- シンプルな IDE 依存パッケージ - プロジェクト間の依存関係を宣言します。ビルド時に jar をエクスポートし、クライアント アプリケーションのクラスパスに配置します。
- Maven/Ivy - リポジトリ (ローカルまたはリモート) に依存関係をインストールし、maven/ivy の依存関係解決メカニズムを使用します
これはかなり広い質問です。そのため、私は幅広い提案を提供しています。
- オブジェクト指向の基本を理解してください。継承、カプセル化、ポリモーフィズム。そこからさらにクレイジーになります。
- 設計パターンについて学び、すでに使用しているアプリケーションでそれらを観察してください。
- 一般的なオープン ライブラリを見て、パターンやモジュールがどのように実装されているかを確認してください。
- サンドボックス プロジェクトで試してみてください。クリーンな環境で知識を深めましょう。
- Javaについて言及しているので、Spring Frameworkをチェックしてください。
それが役立つことを願っています。
Java 言語の作成者である Sun Microsystems は、ついにこの必要性を認識し、Java Beans Component Architecture をリリースしました。Java Bean は、Java アプリケーション開発用に Java で記述された再利用可能なコントロールです。
Bean はコードの「カプセル」であり、それぞれが特定の目的のために設計されています。標準のプログラミング コントロールに対する Java Bean の利点は、Bean が独立していることです。これらは、オペレーティング システムや開発環境に固有のものではありません。ある開発環境で作成された Bean は、別の開発環境で簡単にコピーおよび変更できます。コンポーネントは開発者間で簡単に共有できるため、エンタープライズ コンピューティングにおける Java Beans の柔軟性が高まります。