请MM吃饭之工厂模式实现
生活随笔
收集整理的这篇文章主要介绍了
请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,如需转载请自行联系原作者
/*
* 食物接口
*/
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,如需转载请自行联系原作者
总结
以上是生活随笔为你收集整理的请MM吃饭之工厂模式实现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: [Android] DownloadMa
- 下一篇: 假导出Excel功能实现,按CSV格式快