1. 程式人生 > 實用技巧 >簡單工廠模式

簡單工廠模式

工廠模式

工廠模式是類建立模式的一種,通常是工廠類來根據傳入引數的不同來建立不同類的例項,工廠類建立類的例項,這些類通常是有一個公共的父類。

下面的這張圖基本展示了這種關係

Dataformat建立

簡單工廠模式例項

public class SimpleFactory {

    public static Product getProduct(String className) throws IllegalAccessException, InstantiationException {
        if (className.equals("ProductA")) {
            return new ProductA();
        } else if (className.equals("ProductB")) {
            return new ProductB();
        } else {
            return null;
        }
    }
     //通過反射建立物件
    public static Product getProduct2(String className) throws ClassNotFoundException, IllegalAccessException, InstantiationException {
        Class aClass = Class.forName(className);
        return (Product) aClass.newInstance();

    }

    public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {

        Product pro = SimpleFactory.getProduct2("ProductA");
        pro.print();
        //pro.print();
    }
}
    abstract class Product{//父類
        public void print() {

        }
    }
     class ProductA extends  Product{
        public void print(){
            System.out.println("A success build");
        }
    }
    class ProductB extends  Product{
        public void print(){
            System.out.println("B success build");
        }
    }

小結

工廠模式優點:實現物件建立和使用的分離,客戶端人員只需要掌握如何使用而不用管物件是如何創建出來的。

工廠模式缺點:新增一個新產品就要修改工廠類建立例項時候的判斷邏輯部分的程式碼。