概要:
簡單工廠模式又稱靜態工廠模式。從命名上就可以看出這個模式很簡單:定義一個用於創建對象的接口。
簡單工廠模式由工廠類角色、抽象產品角色和具體產品角色組成。
工廠類角色是本模式的核心,含有一定的商業邏輯和判斷邏輯,它往往由一個具體類實現。
抽象產品角色一般是具體產品繼承的父類或者實現的接口,由接口或者抽象類來實現。
具體產品角色由一個具體類實現
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( "......" ); } } }
|