您好,登錄后才能下訂單哦!
本篇內容介紹了“java中的工廠模式是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
前言
試例
1. 創建飲料接口(或者抽象類)
2. 具體飲料類的實現(可樂、雪碧)
3. 飲料生產工廠類
4. 工廠調用
定義一個工廠類,他可以根據參數的不同返回不同類的實例,被創建的實例通常都具有共同的父類
在簡單工廠模式中用于被創建實例的方法通常為靜態(static)方法,因此簡單工廠模式又被成為靜態工廠方法(Static Factory Method) 只需要傳入一個正確的參數,就可以獲取所需要的對象,而無需知道其實現過程
以飲料加工廠為例
public interface Drink { void production(); }
public class ColaDrinkProduction implements Drink{ @Override public void production() { System.out.println("生產可樂飲料"); } }
public class SpriteDrinkProduction implements Drink{ @Override public void production() { System.out.println("生產雪碧飲料"); } }
public class DrinkProductionFactory { public static Drink productionDrink(String type){ switch (type){ case "cloa": return new ColaDrinkProduction(); default: return new SpriteDrinkProduction(); } } }
需要什么對象傳入對應的參數即可
Drink cloa = DrinkProductionFactory.productionDrink("cloa"); cloa.production();
特點
它是一個具體的類,非接口 抽象類。有一個重要的調用方法(productionDrink),通常是靜態的,利用if或者 switch創建產品并返回
缺點
擴展性差 我想增加一種飲料,除了新增一個飲料產品類,還需要修改工廠類方法(增加‘Case'的分支條件) 這樣來說 不但對擴展開放了,對修改也開放了 違背了開放-封閉原則
“java中的工廠模式是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。