请MM吃饭之工厂模式实现

简介:
有了上次的失败经验,我发誓以后再也不去麦当劳了。原因有很多:
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 拿可乐,速度快乐不少。而且如果服务员有时候忙不开,我可以要另外的食物,不用一棵树上吊死。比起上一次的就餐经理,生活美好了许多。



本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/228809,如需转载请自行联系原作者
相关文章
|
9月前
|
安全 Java 数据库连接
【Java每日一题】——第三十五题:一个父类Animal和两个子类Rabbit和Tiger描述动物世界的继承关系两个子类吃的行为各不相同(兔子吃草,老虎吃肉)但睡觉的行为是一致
【Java每日一题】——第三十五题:一个父类Animal和两个子类Rabbit和Tiger描述动物世界的继承关系两个子类吃的行为各不相同(兔子吃草,老虎吃肉)但睡觉的行为是一致
|
9月前
|
设计模式 Java
Java设计模式【二十四】:模板模式
Java设计模式【二十四】:模板模式
55 0
|
设计模式
趣解设计模式之《小王的糖果售卖机》
趣解设计模式之《小王的糖果售卖机》
93 0
|
设计模式 前端开发 uml
认真学习设计模式之中介者模式(Mediator Pattern)
认真学习设计模式之中介者模式(Mediator Pattern)
85 0
趣解装饰者模式之《我想吃煎饼果子了》
趣解装饰者模式之《我想吃煎饼果子了》
107 0
|
Java 开发者
SimpleDateFormat 日期处理类|学习笔记
快速学习 SimpleDateFormat 日期处理类
115 0
SimpleDateFormat 日期处理类|学习笔记
|
XML 存储 JSON
第一天:创建型模式--工厂方法模式
第一天:创建型模式--工厂方法模式
107 0
|
设计模式 Python
第二天:创建型模式--抽象工厂模式
第二天:创建型模式--抽象工厂模式
117 0
|
设计模式 Python
第三天:创建型模式--建造者模式
第三天:创建型模式--建造者模式
116 0

热门文章

最新文章