Java 簡單工廠模式

概要:

簡單工廠模式又稱靜態工廠模式。從命名上就可以看出這個模式很簡單:定義一個用於創建對象的接口。

簡單工廠模式由工廠類角色、抽象產品角色和具體產品角色組成。

工廠類角色是本模式的核心,含有一定的商業邏輯和判斷邏輯,它往往由一個具體類實現。

抽象產品角色一般是具體產品繼承的父類或者實現的接口,由接口或者抽象類來實現。

具體產品角色由一個具體類實現

package net.xsoftlab.baike;
interface Car {// 車的父類
    public void driver();// 開車
}
class Benz implements Car {// 奔馳車
    public void driver() {
        System.out.println("今天咱開奔馳!");
    }
}
class Bike implements Car {// 自行車
    public void driver() {
        System.out.println("唉,現在經濟危機,只能騎自行車了呀!");
    }
}
class Bmw implements Car {// 寶馬
    public void driver() {
        System.out.println("今天開寶馬吧!");
    }
}
class Driver {// 車的工廠
    public static Car driverCar(String s) throws Exception {
        if (s.equalsIgnoreCase("Benz")) {// 判斷傳入參數返回不同的實現類
            return new Benz();
        else if (s.equalsIgnoreCase("Bmw")) {
            return new Bmw();
        else if (s.equalsIgnoreCase("Bike")) {
            return new Bike();
        else {
            throw new Exception();// 拋出異常
        }
    }
}
public class TextSimpleFactory {// 操作工廠模式的類
    public static void main(String[] args) {// java程序主入口處
        try {
            Car car = Driver.driverCar("Bike");// 調用方法返回車的實例
            System.out.println("經理,今天開什麼車呀?");
            car.driver();// 調用方法開車
        catch (Exception e) {// 捕獲異常
            System.out.println("開車出現問題......");
        finally {// 代碼總被執行
            System.out.println("......");
        }
    }
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章