ホームページ  >  記事  >  Java  >  Java で簡単なファクトリ パターンを学習する

Java で簡単なファクトリ パターンを学習する

黄舟
黄舟オリジナル
2017-10-13 10:16:101096ブラウズ

この記事では主に Java 設計パターンの学習における単純なファクトリ パターンを詳しく紹介します。興味のある方は参考にしてください。

単純なファクトリ パターンは作成パターンとも呼ばれます。 Static Factory Method パターンですが、23 の GOF デザイン パターンの 1 つではありません。単純なファクトリ パターンでは、ファクトリ オブジェクトを使用して、どの製品クラス インスタンスを作成するかを決定します。シンプル ファクトリ パターンは、ファクトリ パターン ファミリの中で最も単純かつ最も実用的なパターンであり、さまざまなファクトリ パターンの特別な実装として理解できます。

シンプルなファクトリーパターンを使用して電卓を設計します。

1: 演算クラスを作成します

package EasyFactoryModel;

abstract class Operation {

  public double num1=0;
  public double num2=0;
  public double getNum1() {
    return num1;
  }
  public void setNum1(double num1) {
    this.num1 = num1;
  }
  public double getNum2() {
    return num2;
  }
  public void setNum2(double num2) {
    this.num2 = num2;
  }
  
  public abstract double getResult();
}

2: 加算クラスを作成します。

class OpeartionAdd extends Operation {

  public double getResult(){
    double result=0;
    result=num1+num2;
    return result;
  }
}

3: 減算クラスを作成します。

public class OpeartionSub extends Operation {
 
  public double getResult(){
    double result=0;
    result=num1-num2;
    return result;
  }
}

4: 乗算クラスを作成します。

public class OperationMul extends Operation {

  public double getResult(){
    double result=0;
    result=num1*num2;
    return result;
  }
}

5: 部門クラスを作成します。

public class Operationp extends Operation {
 
  public double getResult(){
    double result=0;
    result=num1/num2;
    return result;
  }
}

6: 基本的な演算クラスを完了すると、必要な加算、減算、乗算、除算に応じてさまざまなクラスをインスタンス化する必要があることがわかります。このためには、ファクトリ クラスが必要です。

public class OperationFactory {
 
  public static Operation creatOpera(String operation){
     
    Operation oper=null;
    switch(operation){
     
    case "+":oper=new OpeartionAdd();break;
    case "-":oper=new OpeartionSub();break;
    case "*":oper=new OperationMul();break;
    case "/":oper=new Operationp();break;
     
    }
    return oper;
  }
 
}

ファクトリクラスは、さまざまな操作に従ってさまざまなオブジェクトを作成します。ここではポリモーフィズムを使用します。

7 どの特定のクラス オブジェクトを作成する必要がありますか? 単純なファクトリ パターンを実装することにより、必要な情報が渡される限り、ユーザーはオブジェクトがどのように作成されるかを知る必要はありません。

短所: ファクトリ クラスはすべてのインスタンスの作成ロジックを一元化し、凝集性の高い割り当ての原則に違反します。

システム内の特定の製品カテゴリが増加し続けるため、工場カテゴリを常に変更する必要があり、維持および拡張が困難です。同時に、これは開放と閉鎖の原則にも違反します。

以上がJava で簡単なファクトリ パターンを学習するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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