請教Banq工廠模式中的一些問題

X.Underset發表於2006-02-22

以下程式碼和兩段話是從您文章中複製的:

public abstract class Factory{

  public abstract Sample creator();

  public abstract Sample2 creator(String name);

}

public class SimpleFactory extends Factory{

  public Sample creator(){

    .........

    return new SampleA

  }

  public Sample2 creator(String name){

    .........

    return new Sample2A

  }

}

public class BombFactory extends Factory{

  public Sample creator(){

    ......

    return new SampleB

  }

  public Sample2 creator(String name){

    ......

    return new Sample2B

  }

}

從上面看到兩個工廠各自生產出一套Sample和Sample2,也許你會疑問,為什麼我不可以使用兩個工廠方法來分別生產Sample和Sample2?

抽象工廠還有另外一個關鍵要點,是因為 SimpleFactory內,生產Sample和生產Sample2的方法之間有一定聯絡,所以才要將這兩個方法捆綁在一個類中,這個工廠類有其本身特徵,也許製造過程是統一的,比如:製造工藝比較簡單,所以名稱叫SimpleFactory。

-----------------------------------------------------------------

"生產Sample和生產Sample2的方法之間有一定聯絡"

這個聯絡是指什麼還望賜教!

說白了就是不太明白為什麼不可以使用兩個工廠方法來分別生產Sample和Sample2

還有就是光碟中的第三章Jive論壇的原始碼中的jivesoftware包內的類的程式碼是否是您寫的?

相關文章