资源简介

餐饮店点餐系统实现为顾客展现本店所准备各类食物、顾客选餐、顾客选择支付方式、顾客可提出建议以及给顾客打印发票等问题,本系统涉及到工厂模式、策略模式、中介者模式、观察者模式以及模版方法模式。

资源截图

代码片段和文件信息

import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
/*
import javax.swing.JButton;
import javax.swing.Jframe;

import java.awt.event.*;

import javax.swing.*;
import javax.swing.border.EmptyBorder;

import java.awt.*;
import java.io.*;
*/

/*工厂模式--餐饮店展出食物*/
//抽象的食物
abstract class Food{
    public abstract void show();
}
//生产甜点
class Sweet extends Food{
   public void show(){
System.out.println(“甜点+1“);
}
}

//生产饮料
class Drink extends Food{
   public void show(){
System.out.println(“饮料+1“);
}
}
//生产面食
class Noodle extends Food{
public void show(){
System.out.println(“面食+1“);
}
}

//产品工厂
interface  Foodfactory{
Food createFood();

}

//生产甜点子工厂
class ProductSweetFactory implements Foodfactory{
public Food createFood(){
return new Sweet() ;
}
}

//生产饮料子工厂
class ProductDrinkFactory implements Foodfactory{
public Food createFood(){
return new Drink() ;
}
}

//生产面食子工厂
class ProductNoodleFactory implements Foodfactory{
public Food createFood(){
return new Noodle();
}
}
/*工厂模式--餐饮店长出食物*/


/*策略模式--顾客选择付费方式*/
interface Strategy{
    public void calculate();
}

//顾客现金支付方法
class CashStrategy implements Strategy{
    public void calculate(){        
        System.out.println(“请支付现金!“);
    }

}

//顾客刷卡支付方法
class CardStrategy implements Strategy{
    public void calculate(){ 
        System.out.println(“请刷卡!“);
    }

}

//决定使用的方法
class Environment{
    private Strategy strategy;

    public Environment(Strategy strategy){
        this.strategy = strategy;
        strategy.calculate();
    }

    public Strategy getStrategy(){
        return strategy;
    }
    
}
/*策略模式--顾客选择付费方式*/


/*中介者模式--服务员角色*/
abstract class AbstractColleague {  
    protected String number;  
  
    public String getNumber() {  
        return number;  
    }  
  
    public void setNumber(String number){  
        this.number = number;  
    }  
    //注意这里的参数不再是同事类,而是一个中介者  
    public abstract void setNumber(String number AbstractWater am);  
}  
  
class Frontdesk extends AbstractColleague{
    public void setNumber(String number AbstractWater am) {  
        this.number = number;  
        am.AaffectB();  
    }  
}  
  
class Customer extends AbstractColleague{  
    public void setNumber(String number AbstractWater am) {  
        this.number = number;  
        am.BaffectA();  
    }  
}  
  
abstract class AbstractWater {  
    protected AbstractColleague A;  
    protected AbstractColleague B;  
      
    public AbstractWater(AbstractColleague a AbstractColleague b) {  
        A = a;  
        B = b;  
    }  
  
    public abstract void AaffectB();  
      
    public abstract void BaffectA();  
  

//服务员对象
class Water extends AbstractWater { 
    public Water(AbstractColleague a AbstractColleague b) {  
        super(a b);  
    }  
  
    //处理A对B的影响  
   

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        388  2013-11-06 17:41  餐饮系统-软件设计\.project

     文件        301  2013-11-06 17:41  餐饮系统-软件设计\.classpath

     文件        598  2013-11-06 17:41  餐饮系统-软件设计\.settings\org.eclipse.jdt.core.prefs

     文件       1044  2014-06-15 10:21  餐饮系统-软件设计\bin\Subject.class

     文件        452  2014-06-15 10:21  餐饮系统-软件设计\bin\Noodle.class

     文件        496  2014-06-15 10:21  餐饮系统-软件设计\bin\Customer.class

     文件        121  2014-06-15 10:21  餐饮系统-软件设计\bin\Strategy.class

     文件        888  2014-06-15 10:21  餐饮系统-软件设计\bin\Employee.class

     文件        455  2014-06-15 10:21  餐饮系统-软件设计\bin\AbstractWater.class

     文件        395  2014-06-15 10:21  餐饮系统-软件设计\bin\ProductNoodleFactory.class

     文件        507  2014-06-15 10:21  餐饮系统-软件设计\bin\CashStrategy.class

     文件       3451  2014-06-15 10:21  餐饮系统-软件设计\bin\Client.class

     文件        286  2014-06-15 10:21  餐饮系统-软件设计\bin\Observers.class

     文件        470  2014-06-15 10:21  餐饮系统-软件设计\bin\Environment.class

     文件        254  2014-06-15 10:21  餐饮系统-软件设计\bin\Food.class

     文件        714  2014-06-15 10:21  餐饮系统-软件设计\bin\Water.class

     文件        414  2014-06-15 10:21  餐饮系统-软件设计\bin\Secretary.class

     文件        498  2014-06-15 10:21  餐饮系统-软件设计\bin\Frontdesk.class

     文件        450  2014-06-15 10:21  餐饮系统-软件设计\bin\Sweet.class

     文件        568  2014-06-15 10:21  餐饮系统-软件设计\bin\AbstractColleague.class

     文件        450  2014-06-15 10:21  餐饮系统-软件设计\bin\Drink.class

     文件        392  2014-06-15 10:21  餐饮系统-软件设计\bin\ProductSweetFactory.class

     文件        130  2014-06-15 10:21  餐饮系统-软件设计\bin\Foodfactory.class

     文件        501  2014-06-15 10:21  餐饮系统-软件设计\bin\CardStrategy.class

     文件        392  2014-06-15 10:21  餐饮系统-软件设计\bin\ProductDrinkFactory.class

     文件       8158  2014-06-12 14:42  餐饮系统-软件设计\src\Client.java

     文件    1068544  2014-06-15 10:49  餐饮系统-软件设计\软件设计.doc

     目录          0  2013-11-06 18:25  餐饮系统-软件设计\.settings

     目录          0  2013-11-06 18:25  餐饮系统-软件设计\bin

     目录          0  2013-11-06 18:25  餐饮系统-软件设计\src

............此处省略4个文件信息

评论

共有 条评论