工廠方法模式有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...