您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java的簡單工廠模式怎么用”,在日常操作中,相信很多人在Java的簡單工廠模式怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java的簡單工廠模式怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
簡單工廠模式
簡單工廠模式是屬于創建型模式,是工廠模式的一種。 簡單工廠模式是由一個工廠對象決定創建出哪一 種產品類 的實例。簡單工廠模式是工廠模式家族中最簡單實用的模式
簡單工廠模式:定義了一個創建對象的類,由這個類來 封裝實例化對象的行為(代碼)
在軟件開發中,當我們會用到大量的創建某種、某類或者某批對象時,就會使用到工廠模式.
舉個例子
我家是農村的,我老爸老媽就是個農民種水果的,地里面有蘋果,梨,葡萄等,你們這些城里娃,想吃新鮮水果怎么辦呢?你們只能也只能去超市買了,這時候這個超市就相當于一個工廠了,客戶不需要關注水果是怎么樣長成的,只需要在超市買就行了
代碼實現
創建一個水果接口
/** * * @ClassName: Fruits * @Description: TODO(我們都是農村的,自己種的水果,肯定很香,無公害,城里面水果不敢吃,大部分都是打農藥,催熟,膨大劑,美化粉) * @author wangmeng * @date 2021年5月11日 */ public interface Fruits { public void buildFruits(); }
接口實現
蘋果地
public class Apple implements Fruits { @Override public void buildFruits() { System.out.println("農村人套路少,老實,種的蘋果很脆很甜,沒有化學物質,賣的還便宜,付出收獲不成正比"); } }
梨
public class Pear implements Fruits { @Override public void buildFruits() { System.out.println("農村人套路少,老實,自家地種的梨很脆很甜,沒有化學物質,而且還特便宜"); } }
超市工廠
// 超市工廠 public class SupermarketFactory { //使用 getFruits 方法獲取水果類型的對象 // 想吃蘋果就給老板說,我要買帶諸葛家標簽牌子的蘋果,無公害,就對了 // 一個調用者想創建一個對象,只要知道其名稱就可以了。 public Fruits getFruits(String fruitsType){ if(fruitsType == null){ return null; } if(fruitsType.equalsIgnoreCase("Apple")){ return new Apple(); } else if(fruitsType.equalsIgnoreCase("Pear")){ return new Pear(); } return null; } }
使用超市工廠去買諸葛家標簽牌子的蘋果
public class Test { public static void main(String[] args) { // 使用該工廠,通過傳遞類型信息來獲取實體類的對象 SupermarketFactory supermarketFactory= new SupermarketFactory(); Fruits fruits=supermarketFactory.getFruits("Apple"); fruits.buildFruits(); Fruits fruits1=supermarketFactory.getFruits("Pear"); fruits1.buildFruits(); } }
輸出
農村人套路少,老實,種的蘋果很脆很甜,沒有化學物質 農村人套路少,老實,自家地種的梨很脆很甜,沒有化學物質,而且還特便宜
總結
應用實例:
1、您需要一輛汽車,可以直接從工廠里面提貨,而不用去管這輛汽車是怎么做出來的,以及這個汽車里面的具體實現。
2、Springboot項目,持久層 換數據庫只需換方言和驅動就可以。
優點:
1、一個調用者想創建一個對象,只要知道其名稱就可以了。
2、擴展性高,如果想增加一個產品,只要擴展一個工廠類就可以。
3、屏蔽產品的具體實現,調用者只關心產品的接口。
缺點:
每次增加一個產品時,都需要增加一個具體類和對象實現工廠,使得系統中類的個數成倍增加,在一定程度上增加了系統的復雜度,同時也增加了系統具體類的依賴。這并不是什么好事。
到此,關于“Java的簡單工廠模式怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。