003 設計模式 002 工廠方法模式

2021-08-19 20:24:31 字數 1698 閱讀 1581

工廠方法模式有3種

*.普通工廠模式:

* 對實現同一介面的類進行例項的建立

* 工廠類提供乙個建立物件的方法

* 建立物件的方法有乙個入參,引數不同,建立的物件不同

*.多方法工廠模式:

* 對實現同一介面的類進行例項的建立

* 工廠類提供多個普通(非靜態)建立物件的方法

* 每個方法建立的物件不同

*.靜態工廠模式:

* 對實現同一介面的類進行例項的建立

* 工廠類提供多個普通(靜態)建立物件的方法

* 每個方法建立的物件不同

通用介面和實現類

package pack;

/** * 傳送介面

* @author fanshoujun

*/public inte***ce sender

package pack;

/** * 傳送郵件實現類

* @author fanshoujun

*/public class mailsender implements sender

}

package pack;

/** * sms傳送實現類

* @author fanshoujun

*/public class smssender implements sender

}

普通工廠模式

package pack;

/** * 工廠類

* @author fanshoujun

*/public class sende***ctory else if ("sms".equals(type)) else

}}

package pack;

/** * 測試類

* @author fanshoujun

*/public class factorytest

}

多方法工廠模式

package pack;

/** * 工廠類

* @author fanshoujun

*/public class sende***ctory

public sender producesms()

}

package pack;

/** * 測試類

* @author fanshoujun

*/public class factorytest

}

靜態工廠模式

package pack;

/** * 工廠類

* @author fanshoujun

*/public class sende***ctory

public static sender producesms()

}

package pack;

/** * 測試類

* @author fanshoujun

*/public class factorytest

}

設計模式 建立型 工廠方法模式 多個工廠方法模式

多個工廠方法模式,屬於工廠方法模式中的一種。它是一種建立型模式。是對普通簡單工廠模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件.public class gunfactory public igun getgunm4a1 ...

設計模式之工廠方法模式VS簡單工廠方法模式

名詞解釋 簡單工廠 這個實在是沒什麼解釋的,就是乙個工廠類,然後有乙個方法,根據傳遞的引數可以通過switch 你也可以是if,或者是使用高階的反射 來進行物件的建立。工廠方法 定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。區別 簡單工廠的優點是工廠類中...

設計模式之簡單工廠 工廠方法模式 抽象工廠模式

這裡講三種模式放在一起說明,是因為三種模式關聯性很強 抽象工廠模式簡單化以後就是工廠方法模式,工廠方法模式再簡單化就是簡單工廠模式 簡單工廠模式並沒有被列入到gof的設計模式中 public class factory 簡單工廠類,實現建立產品物件 class factory return prod...