工厂模式

我们都知道,在拍电影的时候,男主角有很多辆的跑车。每一集都不一样。假如这一集需要一辆跑车。导演只需要告诉场务,去从车库里开出一辆跑车。

用户不用考虑去创建对象。只需要把你的需求说出来。然后工厂会给你创建对象。

缺点:
当我们要拓展的时候,比如加个手机类型。还要去修改工厂类方法
 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     }

 

posted @ 2019-04-20 09:33  陆伟  阅读(115)  评论(0编辑  收藏  举报