簡單工廠模式主要作用是幫助我們創建對象,但在一些情況下違背了開閉原則,如果想要增加一個功能的話,需要修改工廠類和客戶端。
工廠模式的作用:更加符合開閉原則,不用修改工廠類,只需要增加功能,並改變客戶端即可。
interface Factory {
SuperClass createClass();
}
class Class1Factory{
public SuperClass createClass(){
return new Class1();
}
}
class Class2Factory{
public SuperClass createClass(){
return new Class2();
}
}
public static void main(String[] args){
Factory factory = new FirstFactory();
SuperClass sc = factory.createClass();
sc.test();
}
工廠模式包含了簡單工廠模式的有點,並且是簡單工廠模式的進一步抽象和推廣。但同時,額外增加了開發量,所以說,設計模式不是想用哪個就用哪個,而是根據實際需求,分析出到底哪個模式更加符合目前需求。
如果一個小項目,需要快速開發,那麼選擇簡單工廠模式,肯定優先於工廠模式。