背景:
我們擁有一間車廠,可以接受奔馳廠商和福特廠商的訂單。但由於我們是黑心廠商,發揚我大天朝山寨的特色,給2個廠商的車造成一模一樣,造完之後貼個車標就完成了。
於是身爲廠長的我們就開始改裝車廠的流水線。
UML圖:
這是也是我們的施工圖。我們需要根據不同的訂單廠商,貼不同的車標。
interface iCar{
public String getCarName();
}
public class ford implements iCar{
@Override
public String getCarName(){
return "福特車";
}
}
public class mercedesBenz implements iCar{
@Override
public String getCarName(){
return "大奔";
}
}
class carFactory{
public static iCar bulidCar(String type){
switch (key) {
case "ford":
return new ford ();
break;
case "daBen"
return new mercedesBenz();
break;
default:
System.out.printIn("你小子接私活呢!沒讓你接的單子怎麼跑車間裏來了!");
return null;
break;
}
}
}
這樣就組建好了我們的簡單工廠,只要根據不同廠商的訂單名稱就能獲得我們想要的車啦!
class Test{
public static void main(String[] args) {
iCar mCar = carFactory.bulidCar("daBen");
System.out.printIn("媳婦兒,我買了一輛" + mCar.getCarName() + "回家!");
}
}
這就是我們的簡單工廠模式。
需要一個定義功能的接口,其餘業務類繼承這個接口
然後創建一個工廠,依賴於具體實現業務的類,根據不同的情況,創建不同的產品。