我们都知道,在拍电影的时候,男主角有很多辆的跑车。每一集都不一样。假如这一集需要一辆跑车。导演只需要告诉场务,去从车库里开出一辆跑车。
用户不用考虑去创建对象。只需要把你的需求说出来。然后工厂会给你创建对象。
缺点:
当我们要拓展的时候,比如加个手机类型。还要去修改工厂类方法
1 package SimpleFactory_Pattern; 2 3 /** 4 * 作用:简单工厂模式 5 */ 6 public class SimpleFactory { 7 public static void main(String[] args) throws Exception { 8 Factory factory = new Factory(); 9 factory.produce(1).run(); 10 } 11 } 12 //抽象产品 13 interface Phone { 14 void run(); 15 } 16 17 //具体产品 meizu 18 class MeiZuPhone implements Phone { 19 20 @Override 21 public void run() { 22 System.out.println("魅族手机"); 23 } 24 } 25 26 //具体产品 huawei 27 class HuaWeiPhone implements Phone { 28 29 @Override 30 public void run() { 31 System.out.println("华为手机"); 32 } 33 } 34 35 class Factory{ 36 Phone produce(int produce) throws Exception{ 37 if(produce == 1){ 38 return new MeiZuPhone(); 39 } 40 else if (produce == 2) { 41 return new HuaWeiPhone(); 42 } 43 throw new Exception("没有手机"); 44 } 45 }