模式新手的FACTORY看法。請指點

belly發表於2005-07-05
FACTORY
建立一個專門生產keyboard(鍵盤)的工廠
public class Factory{
  public static Keyboard creator(int which){
   //為什麼用static?
  if (which==1)
    return new keyboardBig();大鍵盤,成年人用
  else if (which==2)
    return new keyboardSmall();小鍵盤,小學生用
  }
}

Abstract Factory
現在工廠做大了,不只生產鍵盤,甚至要出成品電腦了
public abstract class Factory{
  public abstract Keyboard createKeyboard();
  public abstract CPU creatorCPU (String name); //引數為了選擇產品有更的的靈活性。是否需要根據實際情況。
}
public class ArmyFactory extends Factory{//生產面向軍工的產品。。
  public Keyboard createKeyboard (){
    .........
    return new KeyboardArmy() //軍工鍵盤。
  }
public CPU createCPU (String name){ //軍用 Intel 或 AMD CPU

    if……. return IntelArmy
   else return AMDArmy
 }
}
public class PeopleFactory extends Factory{//生產面向群眾的產品。
  public Keyboard createKeyboard(){
    ......
    return new Keyboard //普通鍵盤。
  }
  public CPU createCPU (String name){
    if……. return Intel
    else return AMD //普通Intel or AMD CPU
  }
}


這是我第二便看完banq 的寫的設計模式,也參考GOF的那本書。

上面的程式碼是我根據banq的改的,(沒別的意思,發在這裡是向和大家
討論。因為我是個新手,,,不感肯定自己,,想法,,,SO 請
banq和大家給指點一下)不好意思。

希望能說說自己真正的看法,讓我們共同進步。

相關文章