この記事では、Javaデザインパターンの工場メソッドモデルについて説明します。次のように、参照のために共有してください。
ファクトリーメソッドモデルは非常に頻繁に使用されており、毎日の開発で常に見られます。次のように定義されます。オブジェクトを作成するためのインターフェイスを定義しますが、Subclassにインスタンス化するクラスを決定させます。ファクタリーメソッドにより、クラスをサブクラスに延期することができます。(オブジェクトを作成するためのインターフェイスを定義し、サブクラスにインスタンス化するクラスを決定します。工場の方法は、サブクラスに遅延したクラスのインスタンス化です。
工場メソッドモデルの利点:
1.適切なカプセル化とクリアコード構造。オブジェクトの作成は条件付き制約です。発信者は、製品のクラス名(または制約文字列)を知る必要があります。 。
2。工場メソッドモデルには、優れたスケーラビリティがあります。製品カテゴリを追加すると、特定の工場カテゴリを適切に変更したり、工場カテゴリを拡張したりする限り、「embrace変更」を完了することができます。
3.ブロック製品カテゴリ。これは非常に重要です。変化。製品クラスのインスタンス化は工場クラスの責任であるため、製品オブジェクトの特定の製品生成は、工場クラスによって決定されます。
4.工場メソッドモデルは、典型的なデカップリングフレームワークです。 。高レベルのモジュールは、他の実装クラスを気にする必要はありませんもちろん、依存関係の反転と製品の抽象的なクラスにのみ依存しています。
工場メソッドパターンの共通コードは次のとおりです。
//抽象製品クラスパブリックアブストラクトクラス製品{//製品クラスのパブリックメソッドパブリックボイドMethod1(){//ビジネスロジック処理} //抽象メソッドpublic abstract void method2();}複数の特定の製品カテゴリがあります。すべて抽象製品カテゴリから継承されています。ソースコードは次のとおりです。
//特定の製品カテゴリパブリッククラスconcreTeproduct1拡張製品{public void method2(){// business logic processing}} public class concreteproduct2拡張{publ ic void method2(){//ビジネスロジック処理}}}}抽象工場クラスは、製品オブジェクトの生成を定義する責任があります。ソースコードは次のとおりです。
//抽象ファクトリークラスパブリックアブストラクトクラス作成者{/***入力パラメータータイプを自分で設定できる製品クラスを作成します。 t createprodu ct(class <t> cls);}製品オブジェクトを生成する方法は、特定の工場クラスに実装されています。ソースコードは次のとおりです。
//特定のクラスConcteteCreatorは、creatorを拡張します{createproduct(class <t> cls){製品= null; );} catch(//例外処理} return(t)}}シーンクラスの呼び出し方法は次のとおりです。
//シーンクラスクライアント{public static void main(string [] args){contertecreator(); }一般的なコードを変更することは、比較的実用的で拡張しやすいフレームワークであり、読者は実際のプロジェクトのニーズに応じて拡張できます。
この記事がみんなのJavaプログラミングに役立つことを願っています。