设计模式课设之米线订购子系统.docx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 11 PAGE 10 最终成绩等级: 米线店结账子系统 所属课程名称 设计模式 题 目 米线店结账子系统 分 院 专 业 班 级 学   号 学 生 姓 名    指 导 教 师    2020 年 5 月 24 日 目录 TOC \o "1-3" \h \u 1897 第一章 项目内容及要求 3 11691 1.1 内容: 3 11056 1.2要求: 3 18549 1.3设计思路: 3 15135 1.4分组及分工 3 8163 第二章 设计模式的应用 4 9915 2.1、策略模式: 4 16229 2.2、工厂模式: 5 14696 2.3、装饰模式: 8 5482 第三章 功能实现 11 26614 第四章 实训心得 17 第一章 项目内容及要求 1.1 内容: 简单模拟米线店结账程序,某店面目前卖奶油蛋糕,米线有三种,干浆、酸浆和水米线,每种米线有3种大小大碗,中碗,小碗,然后加入的配料,配料单独收费。米线的包装风格必须一致。 该店面为不同类型的用户提供不同的打折方式,具体打折方案如下: (1) 年龄在10周岁及以下的儿童可享受5折的优惠(原始价格需大于等于100元); (2) VIP用户除享受8折优惠 该店面在将来可能还要根据需要引入新的米线品种,新的打折方式,新的配料。编程模拟实现。 1.2要求: 1、正确无误地绘类结构图; 2、使用Java实现,代码运行正确无误; 3、撰写文档; 4、界面自行设计. 团队合作。每人都要有具体的分工,每人解说的内容必须不相同。 1.3设计思路: 米线店结账对于不同的用户的打折方式部分采用了策略模式。 米线产品的不同种类部分采用了工厂模式。 米线的产品类和配料类的结算部分采用了装饰模式。 1.4分组及分工 设计模式的应用 2.1、策略模式: 对于不同顾客结账时,存在着不同的折扣,年龄在10周岁及以下的儿童可享受5折的优惠(原始价格需大于等于100元);VIP用户除享受8折优惠,所以在折扣的实现上使用了策略模式来完成。 结构图: //打折接口public //打折接口 public interface Discount { public double Discount(RiceNoodle riceNoodle); } //儿童打折方案 public class Child implements Discount { public double Discount(RiceNoodle riceNoodle) { if(riceNoodle.money()>=100) { return 0.5*riceNoodle.money(); }else { return riceNoodle.money(); } } } //VIP打折方案public class VipDiscount implements //VIP打折方案 public class VipDiscount implements Discount { public double Discount(RiceNoodle riceNoodle) { return 0.8*riceNoodle.money(); } } //普通用户实现 public class Normal implements Discount { public double Discount(RiceNoodle riceNoodle) { return 1*riceNoodle.money(); } } 2.2、工厂模式: 米线产品的不同种类部分采用了工厂模式。米线分为三个不同的种类,有干浆米线,酸米线,水米线这三种,不同种类的米线又有大、中、小三个不同的类型,运用工厂模式可以很好的解决这个问题。 结构图: 代码实现: //抽象工厂 //抽象工厂 public abstract class RNoddleStore { public abstract RiceNoodle createRiceNoddle(String name); public abstract PeiLiao AddPeiLiao(RiceNoodle riceN

文档评论(0)

suanshusheng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档