1. 程式人生 > 其它 >java 工廠模式實現例項

java 工廠模式實現例項

技術標籤:javajava設計模式spring

工廠模式的作用:
1、工廠模式是為了解耦,把物件的建立和使用的過程分開
2、建立物件過程統一管理

實現例項(工廠生產產品):

1、工廠介面:

package design.pattern.factory;

/**
 * 產品工廠介面
 */
public interface BaseProductFactory {
    BaseProduct createProduct();
}

2、產品基類

package design.pattern.factory;

/**
 * 產品基類
 */
public abstract class BaseProduct {
    public abstract void show();
}

3、產品A

package design.pattern.factory;

/**
 * 產品A
 */
public class ProductA extends BaseProduct{
    public void show() {
        System.out.println("這是產品A");
    }
}

4、產品B

package design.pattern.factory;

/**
 * 產品B
 */
public class ProductB extends BaseProduct{
    public void show() {
        System.out.println("這是產品B");
    }
}

5、產品A的工廠

package design.pattern.factory;

/**
 * 產品A的工廠類
 */
public class ProductAFactory implements BaseProductFactory {
    public BaseProduct createProduct() {
        return new ProductA();
    }
}

6、產品B的工廠

package design.pattern.factory;

/**
 * 產品B的工廠類
 */
public class ProductBFactory implements BaseProductFactory {
    public BaseProduct createProduct() {
        return new ProductB();
    }
}

7、測試型別

package design.pattern.factory;

/**
 * 測試工廠模式
 */
public class TestFactory {
    public static void main(String[] args) {
        BaseProduct productA = getProduct("A");
        productA.show();

        BaseProduct productB = getProduct("B");
        productB.show();
    }

    private static BaseProduct getProduct(String productType) {
        BaseProductFactory productFactory;
        if ("A".equals(productType)) {
            productFactory = new ProductAFactory();
        } else {
            productFactory = new ProductBFactory();
        }
        return productFactory.createProduct();
    }
}

執行結果:
在這裡插入圖片描述