- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3 设计模式(单子、工厂、策略、组合、观察者模式)练习
在上次作业基础上,设计一个贩卖各类书籍的电子商务网站的购物车系统。该系统包括的模块有:
模块1:图书目录的添加模块,实现对书本信息的增加。
书本包含的信息有:
书的isbn号、
书名、
单价、
书的类型(书的类型包括:1.非教材类计算机图书、2.教材类图书、3.连环画类图书、4.养生类图书、5.其他 共5种)、
:模块2:定价策略维护模块,实现对定价策略的增加、删除、修改、查询。
定价策略分两种:1)简单策略,包括:百分比折扣策略(每本折扣x%)、绝对值优惠策略(每本优惠x元)。
2)组合策略。在简单策略基础上构成的复杂策略。
简单定价策略包含的信息有:
定价策略编号、
定价策略类型(1:百分比折扣简单策略,2:绝对值优惠简单策略)
折扣百分比/每本优惠额度(单位:元)。
其中如果策略类型是1(百分比折扣策略),则第3项值为折扣百分比;否则为每本优惠额度。
组合定价策略包含的信息有:
定价策略编号、
简单策略编号( 字符串,多个简单策略编号之间用|分割)
模块3:购书模块。实现将书加入购物车,并计算优惠后总价。大概的界面实现如下:
上图左侧界面中,第一次输入要买
的书的isbn号和书的数量,点击购买,右侧的购物车窗口就会出现,显示书的名称、数量和总价(优惠后)。然后,在左侧界面中再次购买书的时候,右侧的购物车窗口就会进行更新,会显示当前全部购买的书以及总价。请使用观察者模式实现购物车窗口的刷新。
正常的购物车,书的数量可以进行修改。此处出于工作量考虑,假设右侧界面中书的数量不可修改。
实现下述场景:
1. 图书目录的维护模块中,录入下述书信息:
isbn 书名 价格 书类型 978-7-302-2 《UML与模式应用》 18 2 978-7-312-3 《Java与模式》 34 1 968-6-302-1 《HeadFirst 设计模式》 58 1 958-1-302-2 《爱丽丝历险记》 30 3 900-7-392-2 《煲汤大全》 20 4 (图书的类型包括:1.非教材类计算机图书、2.教材类图书、3.连环画类图书、4.养生类图书、5.其他 共5种)
2.定价优惠策略的维护模块中,录入下述策略:
策略编号 策略名称 策略类型 适用图书类型 折扣百分比/每本优惠额度 Discount001 绝对值优惠策略1 绝对值优惠策略 2 1 Discount002 百分比折扣策略1 百分比折扣策略 3 7 Discount003 百分比折扣策略2 百分比折扣策略 1 3 Discount004 顾客最优策略1 组合策略 4 由Discount001和Discount003组成 定价策略类型(1:百分比折扣策略,2:绝对值优惠策略,3:组合策略)
图书的类型(1.非教材类计算机图书、2.教材类图书、3.连环画类图书、4.养生类图书、5.其他)
关于组合策略Discount004:假设购买了3本养生类图书《煲汤大全》,单价是20元/本,使用简单策略Discount001计算书总价为57元(每本优惠1元),使用简单策略Discount003计算书总价为58.2元(每本优惠0.6元),则最后总价取57元和58.2元中的较小值,即57元。
对于无优惠,如果策略工厂根据图书类型没有找到对应的策略,说明该书无优惠。
购物模块中,实现:
购买了2本教材类图书《UML与模式应用》,单价是18元/本;购买了2本非教材类的计算机图书《Java与模式》,单价是34元/本;购买了1本非教材类的计算机图书《HeadFirst 设计模式》,单价是58元/本;购买了3本连环画类图书《爱丽丝历险记》,单价是30元/本;购买了3本养生类图书《煲汤大全》,单价是20元/本。
每购买一种书,会在购物车中显示当前已经购买的全部书及总价。
主要的类如下,在上次作业的类图基础上进行扩充。
类图说明:(蓝色字体的是本次新增的)
mainUI:主窗口
addBookUI:增加书本窗口
StrategiesUI:策略维护窗口
BuyUI:购买书的窗口
ShoppingCarUI:购物车窗口
Subject:主题接口(新增)
Observer:观察者接口(新增)
Controller:控制器,所有来自UI的请求会发给该控制器对象,由控制器对象再转发给其他领域对象,如Sale。
BookCatalog:书本信息目录,包括多个书本信息。
BookSpecification:书的规格说明,描述一本书的信息。
StrategyCatalog:定价策略目录。(新增)
Sale:代表依次销售。getTotal方法用于返回本次销
您可能关注的文档
- 2012抗肿瘤药销售排名.docx
- 2012新版关于如何延长关节轴承寿命的常用方法和关节轴承质量判断方法.doc
- 2012新版关于如何延长外球面轴承寿命的常用方法和外球面轴承质量判断方法.doc
- 2012新版关于如何延长带座外球面球轴承寿命的常用方法和带座外球面球轴承质量判断方法.doc
- 2012新版关于如何延长微型轴承寿命常用方法.doc
- 2012新版关于如何延长悬吊轴承寿命的常用方法和悬吊轴承质量判断方法.doc
- 2012新版关于如何延长推力球轴承寿命的常用方法和推力球轴承质量判断方法.doc
- 2012新版关于如何延长深沟球轴承寿命的常用方法和深沟球轴承质量判断方法.doc
- 2012新版关于如何延长直线运动轴承寿命的常用方法和直线运动轴承质量判断方法.doc
- 2012新版关于如何延长菱形轴承寿命的常用方法和菱形轴承质量判断方法.doc
最近下载
- 2025年高考历史试卷(山东卷)附答案解析.docx VIP
- 中国文化古城—西安.-PPT.pptx VIP
- 《西方社会学理论》全套教学课件.ppt
- 第7课 实践出真知 课件 中职高教版哲学与人生.pptx
- 一针疗法之肩周炎.ppt
- 2025中国银行中银国际证券股份有限公司招聘8人笔试模拟试题及答案解析.docx VIP
- 神经介入治疗概述及护理常规.ppt VIP
- 舒伯特第二即兴曲,降E大调 D.899之2 Impromptu No. 2 in E flat major, D. 899, No. 2 Op90 Schubert钢琴谱.pdf VIP
- 深潜器钛合金框架结构装配焊接工艺研究-中国造船工程学会.doc
- 村两委工作细则汇编.doc VIP
文档评论(0)