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

代码片段和文件信息
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个文件信息
- 上一篇:二进制炸弹完整解决过程+源代码
- 下一篇:Echarts省市级地图js,json数据
相关资源
- SpringBoot+H2+mybatis-plus59130
- 登录注册界面.zip48872
- Quartus II 15.0中仿真Altera三速以太网I
- 数字华容道
- SSM+Shiro+redis实现单点登陆
- jstl-api-1.2和jstl-impl-1.2
- 基于MVC模式的会员管理系统
- 国内一家大型软件公司内部的正规软
- 仿windows记事本
- GUI银行管理系统
- 超市收银系统eclipse access大学课程设计
- 模拟ATM柜员机系统--连接数据库
- A*算法的2D演示(带源码)
- 代码审查表和代码审查实例
- 仿126 网易 163 邮箱 界面
- Tomcat6.x
- 简单的行编辑器
- 扫雷(MVC架构)
- 302 Found
- window ping命令加时间并记录日志
- 设计模式pdf高清版
- springboot+rabbitmq项目demo(亲测可正常运
- jxbrowser 所有版本通用的破解包
- 2017年-传智播客-张志君老师-SpringBoo
- Blob.js+Export2Excel.js
- 机会路由源代码+仿真工具(SCORP)
- dive into design patterns(Alexander Shvets)
- POI中文帮助文档附带api手册.zip
- 2018双十一阿里供应链服务平台讲座
- 原银在线信贷平台概要设计说明书v
评论
共有 条评论