工厂模式




来源: 51CTO技术博客

        有了上次的失败经验,我发誓以后再也不去麦当劳了。原因有很多:

  1.食物太单调了,添加个食物,就那么费劲,吃不饱。

  2.服务员态度太傲慢了。(工厂责任太重了,万一它不高兴了,就意味着所有的请求失败了)

  我又约了那位MM,向她做了很沉重的检讨,最后她终于给了我一个解释的机会。我一定要把握这个机会,所以我求爷爷告奶奶,感觉‘必胜客’不错。所以决定去那里。

  源码:

  抽象工厂角色(Creator)

  具体工厂角色

  抽象产品角色

  具体产品角色

  2源代码:

  抽象产品角色代码

 


 package factory;
  /*
  * 食物接口
  */
  public interface Food {
  public void desc();
  }
  具体产品角色代码
  package factory;
  public class Cocacola implements Food{
  public void desc() {
  System.out.println("可口可乐,酸酸甜甜就是我");
  }
  }
  package factory;
  /*
  * 鸡翅类
  */
  public class ChickenWing implements Food {
  public void desc(){
  System.out.println("鸡翅香酥可口,跟老太太的裤腰似的");
  }
  }
  抽象工厂角色
  package factory;
  public interface Creator {
  public Food factor();
  }
  具体工厂角色:有多少具体产品,就对应几个具体工厂
  package factory;
  public class ChickenWingCreator implements Creator{
  public Food factor() {
  return new ChickenWing();
  }
  }
  package factory;
  public class CocacolaCreator implements Creator{
  public Food factor() {
  return new Cocacola();
  }
  }
  “我”的代码
  package factory;
  public class Client {
  /**
  * @param args
  * @throws BadFoodException
  */
  public static void main(String[]
 args){
  Creator cocacolaCreator ,chickenWingCreator;
  Food cocacola,chickenWing;
  cocacolaCreator = new CocacolaCreator();
  chickenWingCreator = new ChickenWingCreator();
  cocacola = cocacolaCreator.factor();
  chickenWing = chickenWingCreator.factor();
  cocacola.desc();
  chickenWing.desc();
  }
  }

  经过这一次的接触,让我理解:食品花样还真不少。为啥?人家店,每天都有新添的食物,因为扩展不再困难。而且,这里面有许多的服务员(具体工厂角色),我从这个服务员A 要鸡翅,同时,让服务员B 拿可乐,速度快乐不少。而且如果服务员有时候忙不开,我可以要另外的食物,不用一棵树上吊死。比起上一次的就餐经理,生活美好了许多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值