您好,欢迎访问三七文档
题型题目请填写答案单项选择题在观察者模式中表述错误的是C单项选择题对于违反里式代换原则的两个类可以采用的候选解决方案错误的是D单项选择题下列模式中,属于行为模式的是()B单项选择题“不要和陌生人说话”是()原则的通俗表述D单项选择题要依赖于抽象不要依赖于具体。即针对接口编程不要针对实现编程,是()的表述D单项选择题某公司开发一个文档编辑器,该编辑器允许在文档中直接嵌入图形对象,但开销很大,用户在系统设计之初提出编辑器在打开文档必须十分迅速,可以暂时不显示当前页面以外的图形。针对这种需求,公司可以采用()避免同时创建这些图形对象B(代理模式)单项选择题某公司欲开发一套窗体图形界面类库。该类库需要包含若干个预定义窗格(pane)对象,例如TextPane、ListPane等,窗格之间不允许直接引用。基于该类库的应用由一个包含一组窗格的窗口组成,并需要协调窗格之间的行为。基于该类库,在不影响窗格的前提下实现窗A(中介者模式)单项选择题某公司欲开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询上下文中输入查询关键字,如果当前查询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境,给予上述需求,采用()最为合适A单项选择题()适用于描述复杂算法的执行流程A(强调动作)单项选择题某软件公司承接了为某工作流语言开发解释器的工作。该工作流语言由多种活动节点构成,且具有类XML的语法结构。用户要求解释器工作时,对每个活动节点进行一系列的处理,包括执行活动、日志记录、调用外部应用程序等,并且要求处理过程中具有可扩展能力。针对DABC观察者角色的更新是被动的。被观察者可以通知观察者进行更新观察者可以改变被观察者的状态再由被观察者通知所有观察者依据被观察者的状态进行。创建一个新的抽象类C,作为两个具体类的超类将A和B共同的行为移动到C中从而解决A和B行为不完全一致的问题。将B到A的继承关系改组成委派关系。区分是“IS-a”还是”Hasa”。如果是“Is-a”果是”Hasa”应该改成委派关系工厂模式B观察者C适配器接口隔离里氏代换依赖倒转开-闭原则接口隔离原则里氏代换原则创建一个新的抽象类C,作为两个具体类的超类将A和B共同的行为移动到C中从而解决A和B行为不完全一致的问题。将B到A的继承关系改组成委派关系。区分是“IS-a”还是。如果是可以使用继承关系如果是应该改成委派关系创建一个新的抽象类C,作为两个具体类的超类将A和B共同的行为移动到C中从而解决A和B行为不完全一致的问题。将B到A的继承关系改组成委派关系。区分是“IS-a”还是。如果是可以使用继承关系如果是应该改成委派关系活动图状态图类图活动图状态图类图创建一个新的抽象类C,作为两个具体类的超类将A和B共同的行为移动到C中从而解决A和B行为不完全一致的问题。将B到A的继承关系改组成委派关系。区分是“IS-a”还是。如果是可以使用继承关系如果是应该改成委派关系D以上表述全部错误以上方案错误以上都是迪米特一个对象应对其他对象尽可能少的了解依赖倒转原则以上方案错误以上方案错误用例图用例图以上方案错误单项选择题某软件公司基于面向对象技术开发了一套图形界面显示构建库VisualComponent。在使用该库构建某图形界面时,用户要求为界面定制一些特效显示效果,如带滚动条、能够显示艺术字的透明窗体等,针对这种需求,公司采用()最灵活。D单项选择题在某银行业务的用例模型中,“取款”用例需要等到“存款”用例执行之后才能执行,两个用例之间的关系属于()D(用例执行有先后顺序,是一种在时间上的依赖关系)填空题外观模式的目的在于(answer)填空题设计模式可以分为(answer)、(answer)、(answer)三类填空题Java的异常处理机制可理解为哪一种行为模式(answer)填空题(answer)模式是利用一个对象,快速地生成一批对象填空题面向对象系统中功能复用的最常用技术是(answer)(answer)填空题在存在继承关系的情况下,方法向(answer)方向集中,而数据向(answer)方向集中。填空题设计模式的思想根源是(answer)基本原则的宏观运用,本质上是没有任何模式的, 发现模式的人永远是大师,而死守模式的人,最对只能是一个工匠填空题门面模式是(answer)法则的典型运用填空题工厂模式分为(answer),(answer),(answer)三种类型降低系统的复杂度创建型,结构型,行为型职责链模式原型模式类继承和对象组合方法向(超类)方向集中,而数据向(子类)方向集中是开闭基本原则迪米特法则简单工厂,工厂方法,抽象工厂创建一个新的抽象类C,作为两个具体类的超类将A和B共同的行为移动到C中从而解决A和B行为不完全一致的问题。将B到A的继承关系改组成委派关系。区分是“IS-a”还是。如果是可以使用继承关系如果是应该改成委派关系关联关系扩展关系使用关系降低系统的复杂度创建型,结构型,行为型职责链模式原型模式类继承和对象组合方法向(超类)方向集中,而数据向(子类)方向集中是开闭基本原则迪米特法则简单工厂,工厂方法,抽象工厂以上方案错误依赖关系降低系统的复杂度创建型,结构型,行为型职责链模式原型模式类继承和对象组合方法向(超类)方向集中,而数据向(子类)方向集中是开闭基本原则迪米特法则简单工厂,工厂方法,抽象工厂填空题适配器模式,分为类的适配器和对象的适配器两种实现。其中类的适配器采用的是(answer)关系,而对象适配器采用的是(answer)关系问答题使用Java语言实现一个双向适配器实例,使得猫可以学狗叫,狗可以学猫抓老鼠。绘制相应类图并使用代码编程模拟(电子考试可以暂不画类图)问答题宝马(BMW)工厂制造宝马汽车,奔驰(Benz)工厂制造奔驰汽车。使用工厂方法模式模拟该场景,绘制相应类图并使用代码编程模拟适配器采用的是(继承)关系,对象适配器采用的是(组合聚合)关系适配器采用的是(继承)关系,对象适配器采用的是(组合聚合)关系interfaceCar{voidwork();}interfaceCarFactory{CarproduceCar();}classBmwCarimplementCar{publicvoidwork(){System.out.println(BmwCarworking!);}}classBenzCarimplementsCar{publicvoidwork(){System.out.println(BenzCarworking!);}}classBmwCarFactoryimplementsCarFactory{publicBmwCarproduceCar(){System.out.println(BmwCarproduced!);returnnewBmwCar();}}适配器采用的是(继承)关系,对象适配器采用的是(组合聚合)关系interfaceCar{voidwork();}interfaceCarFactory{CarproduceCar();}classBmwCarimplementCar{publicvoidwork(){System.out.println(BmwCarworking!);}}classBenzCarimplementsCar{publicvoidwork(){System.out.println(BenzCarworking!);}}classBmwCarFactoryimplementsCarFactory{publicBmwCarproduceCar(){System.out.println(BmwCarproduced!);returnnewBmwCar();}}问答题在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check()),CPU的运行(run()),硬盘(HardDisk)的读取(read()),操作系统(OS)的载入(load())等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制相应类图并使用代码编程模拟.问答题请描述观察者模式的动机问答题什么是开闭原则?问答题为什么不适用一个静态的“全局变量”而要新建一个类呢?一个静态的全局变量只能拥有一个值自然而然不就是单例模式了吗问答题请问工厂方法可不可以返回在另一个对象里实例化的一个对象问答题请列出创建型模式有哪些问答题从迪米特法则的角度分析下面的说法“城门失火殃及池鱼”问答题请从接口隔离原则出发分析一下“看人下菜碟儿”这个说法的意义问答题请使用“种瓜得瓜,种豆得豆”的古谚来说明抽象和继承的概念不可以。工厂方法模式是创建模式,工厂方法的用意就是对对象创建过程的封装。虽然工厂方法不一定每一次都返还一个新的对象,但是工厂方法所返还的都应当是在工厂角色中被实例化的对象。1,工厂方法模式:提供一个简单地决策类,根据条件生产产品;2,抽象工厂模式:提供一个创建并返回一系列产品的接口;3,单例模式:某个类只能有一个实例,提供一个全局访问点;4,建造者模式:将一个复杂对象的构建于呈现分开,以便根据不同的需要创建不同的形式;5,,原型模式:先实例化一个类,然后克隆或者拷贝该类来构建新的实例。遵循迪米特法则能增强设计的可维护性以及适应性,但他强迫构造者向其子对象传达请求的额外责任,因此,构造者不得不更多的了解其构造对象的细节。看客人是谁,再提供不同档次的菜。从接口隔离原则的角度出发,根据客户需要的不同,而为不同的客户提供不同的服务是一种应该得到鼓励的做法。“种瓜得瓜种豆得豆”,的古谚语讲的是瓜的种子结出瓜,而豆的种子结出豆。播下瓜种不可能长出豆,播下豆种不可能长出瓜。植物的种子是植物特性的抽象画,植物则是其种子的具体行为。播下某一种植物的种子,只可能得到这种植物,而不可能得到另一种植物。因为单例模式中的单例是一个类,一个类就具有成员变量及方法,而一个变量不能有方法的,所以单例模式不能简单地用一个静态全局变量代替的。建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。一个软件系统应该对开展时开放的,对修改时关闭的。不可以。工厂方法模式是创建模式,工厂方法的用意就是对对象创建过程的封装。虽然工厂方法不一定每一次都返还一个新的对象,但是工厂方法所返还的都应当是在工厂角色中被实例化的对象。1,工厂方法模式:提供一个简单地决策类,根据条件生产产品;2,抽象工厂模式:提供一个创建并返回一系列产品的接口;3,单例模式:某个类只能有一个实例,提供一个全局访问点;4,建造者模式:将一个复杂对象的构建于呈现分开,以便根据不同的需要创建不同的形式;5,,原型模式:先实例化一个类,然后克隆或者拷贝该类来构建新的实例。遵循迪米特法则能增强设计的可维护性以及适应性,但他强迫构造者向其子对象传达请求的额外责任,因此,构造者不得不更多的了解其构造对象的细节。看客人是谁,再提供不同档次的菜。从接口隔离原则的角度出发,根据客户需要的不同,而为不同的客户提供不同的服务是一种应该得到鼓励的做法。“种瓜得瓜种豆得豆”,的古谚语讲的是瓜的种子结出瓜,而豆的种子结出豆。播下瓜种不可能长出豆,播下豆种不可能长出瓜。植物的种子是植物特性的抽象画,植物则是其种子的具体行为。播下某一种植物的种子,只可能得到这种植物,而不可能得到另一种植物。因为单例模式中的单例是一个类,一个类就具有成员变量及方法,而一个变量不能有方法的,所以单例模式不能简单地用一个静态全局变量代替的。classMainframe{privateMemorymemory;privateCPUcpu;privateHardDiskdisk;privateOSos;publicMainframe(){memory=newMemory();cpu=newCPU();disk=newHardDisk();os=ne
本文标题:设计模式习题
链接地址:https://www.777doc.com/doc-4623212 .html