阅读以下关于面向对象系统建模的叙述,在答题纸上回答问题1至问题3。 【说明】 某软件企业为影音产

15 查阅

阅读以下关于面向对象系统建模的叙述,在答题纸上回答问题1至问题3。 【说明】 某软件企业为影音产品销售公司W开发一套在线销售系统,以提升服务的质量和效率。项目组经过讨论后决定采用面向对象方法开发该系统。在设计建模阶段需要满足以下设计要求: (1)W公司经常进行促销活动。根据不同的条件(如订单总额、商品数量、产品种类等),公司可以提供百分比折扣或现金减免等多种促销方式供提交订单的用户选择。实现每种促销活动的代码量很大,且会随促销策略不同经常修改。系统设计中需要考虑现有的促销和新的促销,而不用经常地重写控制器类代码。 (2)该在线销售系统需要计算每个订单的税率,不同商品的税率及计算方式会有所区别。所以W公司决定在系统中直接调用不同商品供应商提供的税率计算类,但每个供应商的类提供了不同的调用方法。系统设计中需要考虑如果公司更换了供应商,应该尽可能少地在系统中修改或创建新类。 项目组架构师决定采用设计模式来满足上述设计要求,并确定从当前已经熟练掌握的设计模式中进行选择,这些设计模式包括:适配器模式(Adapter)、构造器模式(Builder)、命令模式(Command)、外观模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、状态模式(State)和策略模式(Strategy)等。

【问题1】(6分) 设计模式按照其应用模式可以分为三类:创建型、结构型和行为型,请用200字以内文字说明三者的作用。 【问题2】(9分) 请将项目组已经掌握的设计模式按照其作用分别归类到创建型、结构型和行为型模式中。 【问题3】(10分) 针对题目中所提出的设计要求(1)和(2),项目组应该分别选择何种设计模式?请分别用200字以内文字说明具体的解决方案。

参考答案:

【问题1】创建型模式主要用于创建对象,为设计类实例化新对象提供指南。结构型模式主要用于处理类或对象的组合,对类如何设计以形成更大的结构提供指南。行为型模式主要用于描述类或对象的交互以及职责的分配,对类之间交互以及分配责任的方式提供指南。【问题2】 创建型模式:构造器模式、原型模式。 结构型模式:适配器模式、外观模式、代理模式。 行为型模式:命令模式、中介模式、状态模式和策略模式。【问题3】(1)策略模式解决方案:在具有公共接口的独立类中定义每个计算。可以利用该模式创建各种促销类,它们从同一个超类继承。每个

软考高级