主题:趣味编程:请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 拿可乐,速度快乐不少。而且如果服务员有时候忙不开,我可以要另外的食物,不用一棵树上吊死。比起上一次的就餐经理,生活美好了许多。
QQ 744437114
疯狂软件官网:www.fkjava.org
疯狂java视频 android视频:http://www.fkjava.org/video.html