簡單工廠模式、工廠方法模式和抽象工廠模式有何區別?
// 建立Reader物件的工廠
public class ReaderFactory {
public static Reader getReader() throws FileNotFoundException {
File file = new File("aa.txt");
FileReader fileReader = new FileReader(file);
BufferedReader reader = new BufferedReader(fileReader);
return reader;
}
}
public class FileOperateA {
public static void main(String[] args) throws FileNotFoundException {
//-------我有工廠了,還用自己搞嗎?不用了!
//File file = new File("aa.txt");
//FileReader fileReader = new FileReader(file);
//BufferedReader bufferedReader = new BufferedReader(fileReader);
//-------我有工廠了,還用自己搞嗎?不用了!
// 用工廠來建立出物件
Reader reader = ReaderFactory.getReader();
// 讀寫檔案....
}
}
工廠模式就是實現了程式碼的複用,避免我們寫重複的程式碼
簡單工廠模式相當於是一個工廠中有各種產品,建立在一個類中,客戶無需知道具體產品的名稱,只需要知道產品類所對應的引數即可。但是工廠的職責過重,而且當型別過多時不利於系統的擴充套件維護。工廠方法模式相當於在簡單工廠模式的基礎上增加一個抽象工廠,在簡單工廠模式下如果增加一個產品,要修改工廠類,不符合開閉原則。在工廠方法下,只需要增加具體工廠和具體產品即可。抽象工廠,類似於一個集團旗下生產的各種產品的工廠,這些產品是一個產品族。是在工廠方法下的擴充套件。比如一個產品的介面,可以通過直接改變具體工廠的例項來改變產品的介面風格。
工廠方法做的事情就是對工廠進行了分工,但是每次我們new例項還是new的比較多,基本每生成一種水就要來一次
抽象工廠就幫我們解決了這個問題(幫我們建立了一個大的水廠,裡面有建造各種水的方法。同時我要生成新的水,我只需要繼承該抽象方法,把我新生成水的方法寫進去就可以了)
相關文章
- 簡單工廠、工廠方法和抽象工廠模式抽象模式
- 設計模式-簡單工廠、工廠方法模式、抽象工廠模式設計模式抽象
- 簡單工廠模式和抽象工廠模式模式抽象
- 設計模式之工廠模式!深入解析簡單工廠模式,工廠方法模式和抽象工廠模式設計模式抽象
- 抽象工廠模式-與-工廠方法模式區別抽象模式
- 一篇搞定工廠模式【簡單工廠、工廠方法模式、抽象工廠模式】模式抽象
- 簡單工廠模式、工廠模式、抽象工廠模式比較模式抽象
- 工廠方法模式與抽象工廠模式的區別模式抽象
- C# 設計模式(1)——簡單工廠模式、工廠模式、抽象工廠模式C#設計模式抽象
- Java設計模式之簡單工廠、工廠方法和抽象工廠Java設計模式抽象
- 簡單工廠和工廠方法模式模式
- 簡單工廠模式—>工廠模式模式
- 建立型:工廠模式-工廠方法、抽象工廠模式抽象
- 簡單工廠和工廠模式模式
- 設計模式之工廠方法模式|抽象工廠模式設計模式抽象
- 工廠模式之簡單工廠模式模式
- 簡單工廠,工廠方法和抽象工廠模式(我也湊湊熱鬧)抽象模式
- 無廢話設計模式(1)--簡單工廠、工廠方法、抽象工廠設計模式抽象
- 工廠模式和抽象工廠的區別是什麼?模式抽象
- 簡單工廠,工廠方法和抽象工廠抽象
- 工廠模式(簡單工廠模式)快速理解模式
- 設計模式學習筆記(三)簡單工廠、工廠方法和抽象工廠之間的區別設計模式筆記抽象
- 工廠模式 抽象模式模式抽象
- Java 設計模式之工廠方法模式與抽象工廠模式Java設計模式抽象
- 簡單工廠和抽象工廠的區別抽象
- Python 實現工廠模式、抽象工廠,單例模式Python模式抽象單例
- 抽象工廠模式抽象模式
- 別隻知道策略模式+簡單工廠,試試更香的策略模式+抽象工廠!模式抽象
- 【Java】簡單工廠模式、工廠模式、介面卡模式Java模式
- 建立型:工廠模式-簡單工廠模式
- 設計模式學習(二)工廠模式——抽象工廠模式設計模式抽象
- 設計模式-工廠模式二(工廠方法模式)設計模式
- 請教banq 抽象工廠模式怎樣和工廠方法模式配合使用抽象模式
- 簡單工廠 VS 工廠方法 VS 抽象工廠抽象
- 簡單工廠模式模式
- 簡單工廠、工廠模式初學習模式
- java 抽象工廠模式Java抽象模式
- 06: 抽象工廠模式抽象模式