资源简介
餐饮店点餐系统实现为顾客展现本店所准备各类食物、顾客选餐、顾客选择支付方式、顾客可提出建议以及给顾客打印发票等问题,本系统涉及到工厂模式、策略模式、中介者模式、观察者模式以及模版方法模式。
代码片段和文件信息
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数据
相关资源
- 银行个人信用评估系统
- 基于ajax的web聊天室
- 汇率计算器
- 软考 软件设计师 历年真题含答案
- 飞机大战加强版
- 《设计模式》--刘伟 PPT课件+代码
- 基于SSM的电商平台
- 中级软件设计师历年真题全汇总1999上
- eclipse编写坦克游戏
- 北大青鸟S1试题(0711)笔试真题附答
- swing实现订票系统
- 2016年下半年软件设计师下午真题及答
- 面向对象-电影院预售票业务
- 尚硅谷Spring-data视频
- 编程常用的素材(含png、jif、bmp、j
- MD5加密解密算法demo
- 2018年SpringBoot与Shiro整合-权限管理实战
- 清华大学计算机系网络课程之模式识
- 微信小程序拼车demo完整
- 实现yarnlock与packagelockjson相互转换
- 设计模式(Gof完整版PDF)
- zookeeper可视化工具
- 百度离线地图实现可完全实现断网访
- 17品优购电商系统开发
- .net 架构师设计模式特训付费版源码一
- 非常好的短信群发模板,界面美观
- 2004-2018软件设计师历年真题及答案
- ShiYan4-1.zip
- 1990-2014年软件设计师历年真题及答案
- 银行账户管理系统毕业设计+报告+源码
评论
共有 条评论