java工廠模式Factory
阿新 • • 發佈:2018-01-30
用戶 face get package 告訴 users rsh void div
工廠模式:
1)我們首先要設計車汽車需要那些流程(face)
package light.zhang.model.model.facotry; /** * 車子建造過程,定義好流程 * @author witts * */ public interface ICarface { /** * 繪制圖片 */ void drawImage(); /** * 設計模型 */ void createModel(); /** * 實現生產 */ void implCar(); /** * 測試車子*/ void testCar(); }
2.汽車生產商(實現)
package light.zhang.model.model.facotry; /** * 奧迪生廠商 * @author witts * */ public class AodiCompany implements ICarface { @Override public void drawImage() { System.out.println("奧迪公司-圖片模型"); } @Override public void createModel() { System.out.println("奧迪公司-創建模型"); } @Override public void implCar() { System.out.println("奧迪公司-生產車體"); } @Override public void testCar() { System.out.println("奧迪公司-測試車體"); } }
package light.zhang.model.model.facotry;
/**
* 寶馬公司
* @author witts
*/
public class BMWCompany implements ICarface {
@Override
public void drawImage() {
System.out.println("寶馬公司-圖片模型");
}
@Override
public void createModel() {
System.out.println("寶馬公司-創建模型");
}
@Override
public void implCar() {
System.out.println("寶馬公司-生產車體");
}
@Override
public void testCar() {
System.out.println("寶馬公司-測試車體");
}
}
3)4S店現在要整理奧迪寶馬的車,4S店就是一個工廠,他負責把奧迪寶馬的汽車整理,用戶去買車只需要告訴銷售員我要買什麽車
package light.zhang.model.model.facotry; /** * 4S店開始整理要銷售那些車? * @author witts * */ public class Car4SDianFactory { public ICarface getCar(int type) { if(type == 1) { return new AodiCompany(); } if(type == 2) { return new BMWCompany(); } return null; } }
4)用戶開始買車(調用)
package light.zhang.model.model.facotry; /** * 用戶開始去4S店買車 * @author witts * */ public class UserShoppingCar { public static void main(String[] args) { Car4SDianFactory factory=new Car4SDianFactory(); ICarface aodiCar=factory.getCar(1);//奧迪公司的汽車 aodiCar.testCar(); ICarface bmwCar = factory.getCar(2);//寶馬公司的汽車 bmwCar.testCar(); } }
java工廠模式Factory