JAVA簡單工廠設計模式:Simple Factory
阿新 • • 發佈:2018-12-30
wangking717 寫道
簡單工廠模式,把物件(統一介面)的建立封裝起來,而不去用瞭解物件所代表的真正的實現類及其初始化過程。我們只需要把引數傳遞給簡單工廠,工廠就會根據你的需要返回相應的產品物件
簡單工廠模式是大家常用到的一個模式,最直觀的還是來看類圖吧!
Iproduct.java public interface IProduct{ void work(); } Product1.java public class Product1 implements IProduct{ @Override public void work(){ System.out.println(this.getClass().getSimpleName()); } } Product2.java public class Product2 implements IProduct{ @Override public void work(){ System.out.println(this.getClass().getSimpleName()); } } SimpleFactory.java public class SimpleFactory{ public IProduct getProduct(String type){ IProduct pro = null; if("product1".equals(type)){ //如果這裡的IF分支很多,可以使用反射方式減少分支 pro = new Product1(); }else if("product2".equals(type)){ pro = new Product2(); }else { throw new RuntimeException("unknown operating type: "+type); } return pro; } } Test.java public class Test{ public static void main(String[] args){ IFactory factory = new SimpleFactory(); IProduct pro1 = factory.getProduct("product1"); IProduct pro2 = factory.getProduct("product2"); pro1.work(); pro2.work(); } }