設計モードの工場設計モード-1

1549 ワード

デザインモデルは言語とは関係なく、思想です.
工場の設計モデルは少し複雑です.
まず、使用状況を見てみましょう.私たちはよくいくつかのクラスを使用するときに直接newに行くことができませんが、factoryの東を通じてnewに行く必要があります.これが工場設計モデルです.
接触を始めたばかりの頃はかなり奥の深い東だと思っていたのを覚えていますが、私はあなたたちを連れて見て、自分も1つ書いて、これは簡単です.
ここでは簡単な工場を実現します
第一に、javaのオブジェクト向けの特性:カプセル化と継承を熟知する必要があります.
次はコードをつけてから説明しましょう
まず虚類を書く
public abstract class Friend { public abstract void Speak(); } }
で2つのサブクラスを定義し、サブクラスは親を継承します.
一人は友達の紅ちゃん(女の子ですよ):
public class Xiaohong:Friend{public override void Speak(){System.out.println("あなたは私の親友")}}
ガールフレンドの麗public class Xiaoli:Friend{public override void Speak(){System.out.println("あなたは私の")}}
工場クラスを定義します
public class Factory { public static Friend CreateCar(string who) { Friend friend = null; switch (who) { case "Xiaohong": car = new Xiaohong(); break; case "Xiaoli": car = new Xiaoli(); break; } return friend; }
コードがかなり簡単なので、コメントはつけません.
ここで私たちは、私たちが異なるパラメータを伝えることができて、出てきたものも断固として違います.工場のように、原料を入れて、あなたが望んでいる製品を出して、木があります.
オブジェクト向けプログラミングでは、最も一般的な方法は、オブジェクトインスタンスを構築するために使用されるnewオペレータがオブジェクトインスタンスを生成することです.しかし、場合によってはnewオペレータがオブジェクトを直接生成すると、いくつかの問題が発生します.たとえば、多くのタイプのオブジェクトの作成には、オブジェクトの初期設定を計算または取得する必要がある場合があります.どのサブオブジェクトインスタンスを生成するかを選択します.あるいは、必要なオブジェクトを生成する前に、いくつかの補助機能のオブジェクトになる必要があります.これらの場合、新しいオブジェクトの作成は「プロセス」であり、大きな機械の歯車のように動作するだけでなく、大きな機械の歯車のように動作します.
             "    "                ?
       (          )       。         ,          ……