工廠模式的疑問

redlan發表於2002-12-30
設計模式之Factory

其中提到:
...讓建立例項所需要的大量初始化工作從Sample的建構函式中分離出去。

這時我們就需要Factory工廠模式來生成物件了,不能再用上面簡單new Sample(引數)。....

我認為工廠模式與被建立物件的建構函式做多少工作沒有多大關係。最簡單的例子:

Factory類的片斷

public Sample getInstance(String arg) {
    if (arg.equals("A")) {
        return new SampleA();
    } else if (arg.equals("B")){
        return new SampleB();
    }
}
<p class="indent">


這時候,我們仍然可以在SampleA的建構函式中做很多事情,情況如下:

public SampleA() {
    //建立資料庫連線
    //查詢資料庫中某表的某個欄位值,並賦值給例項變數
    //等等
}
<p class="indent">


希望banq能不厭其煩為學生指點一二,謝謝。

相關文章