シンプルなファクトリパターンの概要
具体的なファクトリクラスを定義するstaticファクトリメソッドパターンと呼ばれる*は、いくつかのクラスのインスタンスを作成するための責任がある
* B:利点は
、クライアントが各クラスの責任定義されたオブジェクトの作成を担当している必要はありません*
Cを短所:
*静的ファクトリクラスは新しいオブジェクト、または一部のオブジェクトを作成するためのさまざまな方法を追加することがあれば、あなたは常にファクトリクラスを変更する必要があり、後半のメンテナンスを助長されていません、すべてのオブジェクトを作成するための責任がある
* D:ケース・プレゼンテーション
*動物抽象クラス:パブリック抽象動物{パブリック抽象ボイド)が(EAT;}
*詳細な犬:動物延びパブリッククラス犬{}
*詳細なネコを:動物{パブリッククラス猫}延び
*が開始されると、各テストクラスの特定のコンテンツを独自のオブジェクトを作成し、しかし、仕事があまりにも面倒であれば、オブジェクトを作成するには、これを行うに特化誰かを必要とするので、私たちは、オブジェクトを作成するために、特別なクラスを知っています。
*
パブリッククラスAnimalFactory {
プライベートAnimalFactory(){}
//パブリック静的犬createDog(){)新しい新しい犬を(返す;}
//パブリック静的猫createCat(){)(新しい新しい猫を返す;}
//改善
動物createAnimalの静的パブリック(文字列animalNameと呼ぶ){
IF(animalNameいわゆる"犬" .equals()){}
他IF( "CAT" .equals(ANIMALE)){
}他{
戻りNULL;
}
}
}
次に、ファクトリメソッド概要と使用
*:Factory Methodパターンの概要
* Factory Methodパターン抽象ファクトリクラスは、特定のオブジェクトが抽象工場継承する具象クラスによって達成されるジョブを作成し、オブジェクトを作成するためのインタフェースを定義する責任があります。
* B:利点は
、クライアントが新しいオブジェクトを追加することがある場合にのみ、既存に影響を与えることができない特定のクラスとコンクリートのファクトリクラスを追加する必要があり、各クラスの責任を定義したオブジェクトを、作成を担当している必要はありません*コードは、後者簡単に維持し、システムのスケーラビリティを向上させる
* C:欠点
*必要とする追加のコーディング、増加ワークロード
* D:ケースプレゼンテーション
*
動物抽象クラス:パブリック抽象動物{パブリック抽象ボイド (食べる);}
ファクトリインターフェース:パブリックインターフェイス工場{パブリック抽象動物 createAnimal();}
具体的に犬:publicクラス犬は動物{}拡張し
、特定の猫:パブリッククラスキャットは、動物を{拡張}
始めて、仕事があまりにも面倒であれば、オブジェクトを作成するには、しかし、自分自身のオブジェクトを作成するために、各特定のコンテンツのためのテストクラスでは、あなたが誰かを必要とします我々は、オブジェクトを作成するために、特別なクラスを知っているので、具体的には、このことを行うには。各修正コードは、改良されたファクトリメソッド、各特定の実装のための具体的な工場とあまりにも面倒な発見しました。
犬ファクトリー:パブリッククラスDogFactory実装工場の{
公共の動物createAnimal(){...}
}
猫の工場:実装工場の公開クラスCatFactory {
公共の動物createAnimal(){...}
}
7.04_シンプルなファクトリパターンとFactory Methodパターン
おすすめ
転載: www.cnblogs.com/zyyzy/p/12426319.html
ランキング