设计模式--简单工厂模式
什么是工廠模式
工廠模式(Factory Pattern)是 Java 中最常用的設計模式之一。這種類型的設計模式屬于創建型模式,它提供了一種創建對象的最佳方式。 在工廠模式中,我們在創建對象時不會對客戶端暴露創建邏輯,并且是通過使用一個共同的接口來指向新創建的對象。
簡單的解釋
例我們將肯德基當作一個工廠,當我們去點餐,只需要告訴前臺,我要一個漢堡或薯條即可,我們不需要去關心漢堡是如何制作;
我們點餐的過程相當于我們創建一個工廠類,告訴前臺我們要一個漢堡相當于把名稱告訴工廠,由工廠去生產;
而前臺告訴廚房:一個漢堡,相當于由工廠決定我們調用哪個類、哪個對象,最終廚房把漢堡給前臺,前臺在遞到我們手中,則相當于對象實例化完成;
- 優點
創建一個對象,只需要知道名稱即可;擴展性高,增加產品,只需要增加對應的工廠類; - 缺點
每增加一個產品,都需要對應的工具類、工廠類;一個工廠只能生產一個產品;當產品過多時,一定程序增加了系統的復雜性;
代碼解釋
實現一個計算器類,由輸入兩個數字、運算符,得到結果;
1、首先聲明一個抽象類,該抽象類只有一個方法,輸入數字,返回計算結果
2、聲明對應的子類,繼承抽像父類,實現其計算方法
public class AddOperatorAction extends OperatorAction {private String operator="+";/*** 此處僅實現相加運算操作,其它-,*,/ 可實現同時的子類進行操作* @param numberFIrst* @param numberSecond* @return*/@Overridepublic Integer getResult(String numberFIrst, String numberSecond) {return Integer.valueOf(numberFIrst)+Integer.valueOf(numberSecond);} } 復制代碼3、創建一個簡單的工廠,根據運算符去決定實例化對應的類
public class Action {public static OperatorAction factory(String operator){OperatorAction oper=null;switch (operator){case "+":oper=new AddOperatorAction();break;}return oper;}public static void main(String[] args) throws IOException {Scanner sc = new Scanner(System.in);System.out.print("簡單工廠模式,簡易計算器\n請輸入第一個數字:\n");String numberFirst=sc.nextLine();System.out.println("請輸入運算符(+、-、*、/):");String operator=sc.nextLine();System.out.println("請輸入第二個數字:");String numberSecond=sc.nextLine();OperatorAction oper=factory(operator);System.out.println("運算結果:"+oper.getResult(numberFirst,numberSecond));} } 復制代碼后記
工廠模式在Java開發中最常見的就是Spring、Hibernate,像Spring的Bean工廠,我們只需要知道bean的name就可以直接調用,而Hibernate的連接我們同樣從SessionFactory中直接獲取,通過工廠模式降低的藕合,使得在開發中變的更加容易,高效;
代碼參照:大話設計模式
名稱解釋:www.runoob.com/design-patt…
總結
以上是生活随笔為你收集整理的设计模式--简单工厂模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用component小程序
- 下一篇: 力扣(LeetCode)763