Javaのテンプレート

PHPz
PHPzオリジナル
2024-08-30 16:05:54596ブラウズ

デザイン パターンは、プログラマーが個々の操作単位間の結合や依存性を少なくした、クリーンで効率的で繰り返しのないコードを作成するのに役立ちます。コーダーがクライアントの要件を分析するときは、コード実装のための適切な設計パターンが最初に考慮されるソリューションです。コードは後でスケーリングされます。追加する必要がある場合は、いくつかの追加の制約も組み込むことができます。

デザイン パターンは常に、スケーラビリティとクリーンな実装を考慮して選択されます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

特定の実装を通じてテンプレートを埋めようとする場合、テンプレートを選択します。これらはテンプレートと呼ばれます。

コーディングの分野では、次のようなビジネス シナリオでこれらのパラダイムを使用します。

シナリオ 1 –

Java でテンプレートの Web ベースのソリューションを設計することになっており、速度計算式やトルク計算などの車両の特性を実装する必要があります。したがって、自転車の場合は、それとは異なります。車の場合はどうなるでしょうか。スケーラビリティの観点から見ると、これらの計算関連メソッドの外側のスケルトンだけを備えた基本テンプレートを追加し、コードにこれらの実装のバリアントを追加するだけです。デザイン。このテンプレートを見たユーザーだけが、あなたが提供している機能について理解し、関連するクラスを楽しみにしているでしょう。

シナリオ 2 –

もう 1 つの原因は、プロジェクトで呼び出すデータベース クラスの共通テンプレートを生成することです。 Oracle、MySQL、または DB2 を使用している可能性があり、コーディングのさまざまなシナリオで、さまざまな時点でそれらに接続することを楽しみにしているため、テンプレートでユーザー名、パスワードを入力し、接続などのプロパティを取得できます。そしてクラスを拡張すると、必要に応じて実装の詳細が得られます。

Java 開発者は、この種の機能を実装する方法を知っています。はい、抽象クラスが正しい答えです。密接に関連したエンティティをソリューションに組み込むシナリオがある場合は常に、抽象クラスを選択することを知っていただければ幸いです (そうでない場合は、インターフェイスによって目的も解決されます)。

Java でのテンプレートの実装

1.テンプレート メソッドと抽象メソッドも組み込んだ基本クラスを抽象クラスにします。

2.テンプレート メソッドは最終的なものであり、その後変更されることはありません。

3.抽象メソッドは、実装クラスのサポート ビジネス ロジック コードを介して実装する必要があります。

4.メソッドを子クラスでのみ実装する必要がない場合は、子クラスで抽象メソッドを作成できます。

5.適切な方法で例外処理に対処することも重要なシナリオです。

6.何を抽象化する必要があり、何が抽象化されないのかについての正しい選択。

Javaのテンプレート

基本クラスに本体を持つメソッドはオーバーライドされないため、最終型になります。車両クラスと同様に、rpm の計算も同じにすることができます。

ここでは、Java テンプレートベースの例を定義しています。これには、同じサンプル実装が組み込まれています –

public abstract Vehicle
{
String fuelType;
Int countOfSeats;
public abstract double calcSpeed() throws Exception;
public abstract double calcTorque() throws Exception;
public final void templateMethod()
{
Task1();
Task2();
Task3();
}
public Bike extends Vehicle
{
@Override
public abstract double calcSpeed() throws Exception
{
try
{
return distance/time;
}
Catch(Exception e)
{
System.out.println(e.printStackTrace());
}
}
@Override
public abstract double calcTorque() throws Exception
{
try
{
return radialLength * force;
}
Catch(Exception e)
{
System.out.println(e.printStackTrace());
}
}
}
public car extends Vehicle
{
Int doorCount;  // door doesn’t exist in all vehicles so has been added here
@Override
public abstract double calcSpeed() throws Exception
{
try
{
return distance/time;
}
Catch(Exception e)
{
System.out.println(e.printStackTrace());
}
}
@Override
public abstract double calcTorque() throws Exception
{
try
{
return radialLength * force;
}
Catch(Exception e)
{
System.out.println(e.printStackTrace());
}
}
}

Eclipse またはその他のオンライン コンパイル プラットフォームを使用して、独自の実装を使用してこの実装をチェックできます。

コーディング前のシステム要件

1.できれば Java 8 をインストールする必要があります。

2.システム変数は JRE 用に適切に構成されている必要があります。

3.構文エラーを自動チェックする Eclipse のような IDE も必要です。

4. IDE のみを使用したデバッグ。

5.テンプレート設計分析用のプラグイン。

6.テンプレート デザイン パターンの実装で作成したクラス間の上位レベルの継承関係を知るためのクラス図関連付けツール。

7. Windows、Linux、または MAC であれば、あなたのタスクを実行できます。

Java のテンプレートの利点

  1. 一般的なものは抽象クラスでのみ実装でき、必要なバリエーションはサブクラスで実装できるため、コードの重複を防ぎます。
  2. 実装の継承関係に基づいて、サブクラスに変数パターンを実装できます。このプロセスはメソッドのオーバーライドと呼ばれます。
  3. メイン テンプレートには抽象メソッドと非抽象メソッドを含めることができるため、実装が簡単かつ柔軟になります。
  4. コードの長さは制限されたままです。
  5. コードはクリーンで効率的であるように見えます。
  6. デバッグが簡単なので、開発者の作業が楽になります。

ユースケース

  1. Has-a 関係の実装。
  2. データベース実装。
  3. 車両バリアントの実装。
  4. フルーツの収集とビタミン効果の実装。
  5. ワークフロー メソッドの実装。

他に何を探索できますか?

インターフェース実装の概念をご存知ですか?新しい機能を備えた Java 8 では、上記の派生クラスに対してインターフェイスの実装を試したり、さまざまなビジネス シナリオを試すことができます。 Java 8 以降のバージョンでは、実装クラス内のインターフェイスの抽象メソッドを自由にオーバーライドできます。これについては、Oracle が提供するドキュメントをひと目見る必要があります。

他の設計パターンも重要であり、業界全体の経験豊富な Java 開発者から期待されているため、それも検討していただけると助かります。

以上がJavaのテンプレートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。