首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于面向对象系统建模的叙述,回答下列问题。 【说明】 某软件企业为影音产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求: (1)w公司经常
阅读以下关于面向对象系统建模的叙述,回答下列问题。 【说明】 某软件企业为影音产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求: (1)w公司经常
admin
2013-01-20
37
问题
阅读以下关于面向对象系统建模的叙述,回答下列问题。
【说明】
某软件企业为影音产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求:
(1)w公司经常进行促销活动。根据不同的条件(如订单总额、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。实现每种促销活动的代码量很大,且会随促销策略不同经常修改。系统设计中需要考虑现有的促销和新的促销。而不用经常地重写控制器类代码。
(2)该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。
项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。
针对题目中所提出的设计要求(1)和(2),项目组应该分别选择何种设计模式?请分别用200字以内文字说明具体的解决方案。
选项
答案
(1)策略模式 解决方案:在具有公共接口的独立类中定义每个计算。可以利用该模式创建各种促销类,它们从同一个超类继承。每个类都有相同名称的标准接口方法,用于根据订单编号计算将要折扣的金额总数。计算每个促销的内部代码对促销类来说完全不同(3分)。 (2)适配器模式 解决方案:增加一个类作为适配器,转换类的接口到客户端类期望的另一个接口。实现一个适配器类,这个类为系统的其他部分提供了一个不变的方法供调用,为了集成不同商品供应商提供的税率计算类,编写一个适配器类的子类,包含调用购买类所需的代码。该子类将系统的调用映射到某个供应商的税率计算类。如果要更换供应商,那么只需要写一个新的适配器子类,其他保持不变。
解析
设计要求(1)中不同的促销方法有不同的实现代码,在不同促销活动中需要能够替换实现代码,适合采用策略模式。策略模式是一种对象的行为型模式,定义一系列算法,并将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和环境分隔,当出现新的行为时,只需要实现新的行为型模式。
设计要求(2)中不同商品供应商提供的税率计算类需要提供统一的方法调用接口,适合采用适配器模式。适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,可以作为对象结构型模式。在类结构型模式中,通过使用一个具体类将适配者适配到目标接口中;在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。
转载请注明原文地址:https://kaotiyun.com/show/CNQZ777K
本试题收录于:
系统架构师下午案例分析考试题库软考高级分类
0
系统架构师下午案例分析考试
软考高级
相关试题推荐
定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、push以及pop的时间复杂度都是O(1)。
输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,
大概描述一下ASP。NET服务器控件的生命周期
将一整数逆序后放入一数组中(要求递归实现)
输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:structListNode{intm_nKey;ListNode*m_pNext;};
隐藏OutlookExpress的工具栏。
提高安全性,禁用ActiveX某些功能,例如禁用ActiveX控件自动提示。
在即时通讯工具MSN中,从当前界面开始,把自己的邮箱注册为“Passport”,已知邮箱地址为:ccty@163.com,密码设置为116116,密码提示问题为:你最喜欢的历史人物?毛泽东,注册检查框内的字符按照图片上给的输入,字符输入区分大小写,其余选项
通过【控制面板】中的添加硬件向导,安装Modem的驱动程序。让系统自动搜索安装软件,Modem的型号为:IntelV92HaMDataFaxVoice。
随机试题
在行政组织体制中,既是首长制的典型,也是分离制的典型的国家是()
四肢厥冷可见于
在肉中添加亚硝酸盐或硝酸盐的作用是
Word2003只能将文件保存为Word文档类型。()
刘某与妻子谢某感情不和,谢某诉请离婚。刘某因长期赌债欠表兄安某93万元赌债并打了借条。在诉讼过程中,刘某要求与谢某共同偿还这笔赌债。根据《婚姻法》和有关司法解释,下列对刘某所欠赌债的处理意见中,正确的是()。
实际执行收容教育的期限不得超过()。
发散思维:是指沿着不同的方向、不同的角度思考问题,从多方面寻找解决答案的思维模式。下列属于发散思维的一项是()。
DES算法采用了()密钥长度,其中()用于奇偶校验,用户可以使用其余的()。
下列语句序列执行后,i的值是()inti=10;do{i-=2;}while(i>6);
下列二叉树描述中,正确的是()。
最新回复
(
0
)