一. 感悟
- 簡單工廠模式其實就是讓產品的創建和使用分離,通過新增工廠類,對外提供靜態方法。客戶端只需要傳入指定的參數,就能獲得目標產品。簡單工廠模式的缺點也很明顯,工廠辨別入參生產指定產品的邏輯全部被寫在了工廠類,若產品種類豐富,會導致工廠類過於龐大。此外,每新增一個不同類型的產品,不得不修改工廠類的代碼,違背了開閉原則。
- 工廠方法模式和核心在於使用了抽象工廠和抽象產品,具體產品的實現從工廠類(對比簡單工廠模式)下放到了具體的工廠類中,使用時通過具體的工廠類初始化抽象工廠,再通過抽象產品調用具體產品的實現方法。
Factory factory = new ConcreteFactory1();
Product product = factory.createProduct();
product.doAnything();