工廠方法模式(factory method)
簡單工廠模式有乙個問題就是,類的建立依賴工廠類,也就是說,如果想要拓展程式,必須對
工廠類進行修改,這違背了閉包原則,所以,從設計角度考慮,有一定的問題,如何解決?就
用到工廠方法模式,建立乙個工廠介面和建立多個工廠實現類,這樣一旦需要增加新的功能,
直接增加新的工廠類就可以了,不需要修改之前的**。
請看例子:
public inte***ce sender
兩個實現類:
public class mailsender implements sender
}
public class smssender implements sender
}
兩個工廠類:
public class sendsmsfactory implements provider
}
public class sendmailfactory implements provider
}
在提供乙個介面:
public inte***ce provider
測試類:
public class test
}
其實這個模式的好處就是,如果你現在想增加乙個功能:發及時資訊,則只需做乙個實現類,
實現 sender 介面,同時做乙個工廠類,實現 provider 介面,就 ok 了,無需去改動現成的代
碼。這樣做,拓展性較好
java設計模式之工廠模式
工廠模式是一種經常被使用到的模式,根據工廠模式實現的類可以根據提供的資料生成一組類中某乙個類的例項,通常這一組類有乙個公共的抽象父類或者是介面並且實現了相同的方法,但是這些方法針對不同的資料進行了不同的操作。首先需要定義乙個父類或者介面,該類的子類通過不同的方法實現了父類中的方法。然後需要定義乙個工...
java設計模式之工廠模式
1 只要方法裡面控制產生物件的方法,就可稱為工廠相關方法。2 單例 多例。3 簡單工廠 例子 交通工具 多種交通工具 多種交通工具不同的生產過程 4 介面抽象類使用 一般乙個特性使用介面 會飛的 大概能定義為乙個物體使用抽象類 由於類的多繼承性,建議多用介面。5 抽象工廠 換掉一些列的產品,擴充套件...
java設計模式之工廠模式
工廠模式包括工廠方法模式和抽象工廠模式兩種。實際是將介面的例項建立交給乙個工廠類來做。1.工廠方法模式 又包括普通工廠模式 多方法工廠模式 靜態工廠模式三種設計方式。例如 介面 public inte ce father 實現類public class child1 implements fathe...