求一个三种设计模式结合的java小程序
请问可以帮忙运用三种及以上的设计模式写一个小程序吗😊(主要是要运用三种或者三种以上的设计模式)我现在比较感兴趣的应用场景是模拟ATM机的一些功能(报酬可以...
请问可以帮忙运用三种及以上的设计模式写一个小程序吗😊(主要是要运用三种或者三种以上的设计模式)
我现在比较感兴趣的应用场景是模拟ATM机的一些功能(报酬可以私聊,谢谢) 展开
我现在比较感兴趣的应用场景是模拟ATM机的一些功能(报酬可以私聊,谢谢) 展开
1个回答
2017-12-05 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
//##食堂:DinningHall.java
public class DinningHall{
private DinningHall instance = null;
private DinningHall{
}
public static DinningHall getInstance(){
//单例模式:创建食堂对象
if(instance == null){
instance = new DinningHall();
}
return instance;
}
public Food createFood(String order){
//工厂模式:创建一些吃的
if("1号菜".equals(order)){
//比如菜单上1号菜是鱼香肉丝
return new YuXiangRouSi();
}
else if("2号菜".equals(order)){
//比如菜单上2号菜是宫保鸡丁
return new GongBaoJiDing();
}
else{
return null;
}
}
//建造者模式start:集中管理,生产一些吃的东西
private List<Food> list = new ArrayList<Food>();
public List<Food> getFoods(){
return list;
}
public void produceSomeMantou(int count){
for(int i=0; i<count; i++){
list.add(new ManTou());
}
}
//建造者模式end
}
//##食物:Food.java
public interface Food(){
public String getName();
}
//##鱼香肉丝:YuXiangRouSi.java
public class YuXiangRouSi implements Food(){
public String getName(){
return "鱼香肉丝";
}
}
//##宫保鸡丁:GongBaoJiDing.java
public class GongBaoJiDing implements Food(){
public String getName(){
return "宫保鸡丁";
}
}
//##馒头:Mantou.java
public class Mantou implements Food(){
public String getName(){
return "馒头";
}
}
//##测试类Tester.java
public class Tester{
public static void main(){
//1.单例模式
DinningHall dh = DinningHall.getInstance();
//2.工厂模式
Food f1 = DinningHall.createFood("1号菜");
System.out.println(f1.getName());
//3.建造者模式
DinningHall.produceSomeMantou(5);
List<Food> foods = DinningHall.getFoods();
for(Food f : foods){
System.out.println(foods +"\t");
}
System.out.println();
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |