更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
什么是适配器模式?适配器模式的适用环境是什么? 适配器模式将一个类的接口转换成客户希望的另一接口。适配器模式让那些接口不兼容的类可以一起工作。它可以分类对象适配器和类适配器。 如下情况可以考虑使用适配器模式: ① 系统需要使用一些现有的类,而这些类的接口(例如方法名)不符合系统的需要,甚至没有这些类的源代码。 ② 想创建一个可以重复使用的类,用于和一些彼此间没有太大关联的类(包括可能在将来引进的类)一起工作。 某系统提供一个简单计算器,具有简单的加、减、乘三种功能,系统可以根据用户 选择实例化相应的操作类。现使用简单工厂模式设计该系统,要求设计一个计算器工厂(Calculator)实例化不同的操作(加法AddOperation、减法SubOperation、乘法MultiplyOperation),计算器工厂中createOperation()为工厂方法,可以根据用户传入的char类型的字符返回不同的操作对象(如,用户传入“+”,则返回AddOperation类型的对象),请绘制出该问题的类图,要求体现处方法和属性。 设计方案如下: (含图) 为了避免监控数据显示不一致并节省系统资源,在某些监控系统的设计方案中提供了一个主控中心类,该主控中心类使用单例模式进行设计。具体来说,该方案中主控中心类MainControllerCenter是单例类,它包含了一系列成员对象并可以初始化、显示和销毁成员对象,对应的方法分别为init()、load()和destroy(),此外还提供了静态工厂方法getInstance()用于创建MainController类型的单例对象。给出该问题的类图,并编程实现。 设计方案如下所示: (含图) 实现代码如下所示: publi privat privat privat privat privat publi publi publi publi /* i mc }*/ return mcc; } } class Test{ publi MainControllerCenter mcc1,mcc2; mcc1 = MainControllerCenter.getInstance(); mcc2 = MainControllerCenter.getInstance(); } } 某系统需要使用不同的优化算法解决旅行商问题(solveTSP()),目前已提供了几种基于优化算法的方案(OptimizationAlgorithm),如粒子群优化算法(PSOOperation)、遗传算法(GAOperation)等,要求后续加入新的优化算法支持开闭原则,使得用户可以动态地选择优化算法问题。请根据上述需求,运用策略模式解决该问题,可以使用TSPSolution充当环境类,绘制相关设计方案的类图,注意使用标准的类图,并表示出其中的方法和属性,特别注意使用正确的关系。 设计方案如下: (含图) 某在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。现使用观察者模式设计该系统,绘制类图并编程模拟实现,绘制类图时,请提供其相应的方法和属性,实现观察者模式的源代码。 设计方案如下: (含图) 代码实现情况如下: packag import jav publi publi Investor investor1,investor2; investor1 = new ConcreteInvestor("张三"); investor2 = new ConcreteInvestor("李四"); Stock haier = new Stock("青岛海尔",20.00); haier.attach(investor1); haier.attach(investor2); haier.setPrice(25.00); } } interfac publi } class Stock { privat privat privat publi this.stockNam this.pric investors = new ArrayList<Investor>(); } publi investors.add(investor); } publi investors.remove(investor); } publi return stockName; } publi this.stockNam } publi return price; }