答案-软件设计模式X东大21年6月考试考核作业88888_第1页
答案-软件设计模式X东大21年6月考试考核作业88888_第2页
答案-软件设计模式X东大21年6月考试考核作业88888_第3页
答案-软件设计模式X东大21年6月考试考核作业88888_第4页
答案-软件设计模式X东大21年6月考试考核作业88888_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学习中心:院校学号:姓名学习中心:院校学号:姓名PAGE5课程名称PAGE5课程名称:软件设计模式X东北大学继续教育学院软件设计模式X 试卷(作业考核线上2) A 卷(共7 页)总分总分题号一二三四五六七八九十得分完整答案附后一、单选题(共40分,每题2分)常用的基本设计模式可分为()A.创建型、结构型和行为型 B.对象型、结构型和行为C.过程型、结构型和行为型 D.抽象型、接口型和实现对以下开闭原则的描述错误的是()开闭原则与“对可变性的封装原则”没有相似性C.对修改关闭,是其原则之一D.从抽象层导出一个或多个新具体类可以改变系统的行为,是其原则之一“不要和陌生人说话”是()原则的通俗表述。接口隔离B.里氏替换C.依赖倒置 D.迪米特当创建一个具体的对象而又不希望指定具体的类时,可以使用()结构型B.创建型 C.行为型 D.以上都可以以下()是利用一个对象,快速地生成一批对象。抽象工厂(AbstractFactory)模式 B.原型(Prototype)模式C.合成(Composite)模式 D.桥接(Bridge)模式以下()用来描述建造者(Builder。定义一个用于创建对象的接口,让子类决定实例化哪一个类将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示保证一个类仅有一个实例,并提供→个访问它的全周访问点运用共享技术有效地支持大量细粒度的对象以下()用来描述工厂方法(FactoryMethod)模式。提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类下定义作用于这些元素的新操作迟到其子类独立于使用它的客户而变化对象适配器模式是()原则的典型应用。起工作的那些类可以一起工作。定义一个用于创建对象的接口,让子类决定实例化哪一个类下定义作用于这些元素的新操作队或记录请求日志,以及支持可撤销的操作关于模式适用性,以下()Flyweight(享元)模式。一个应用程序使用了大量的对象完全由于使用大量的对象,造成很大的存储开销对象的大多数状态都可变为外部状态用户想使用一个已经存在的类,而它的接口不符合用户的需求如果有一个2MB的文本(英文字母的每个字母都定义一个对象显然不合实际,对与该问题最好可使用的模式是(。A.装饰(Decorator)模式B.享元(Flyweight)模式C.合成(Composite)模式D.命令(Command)模式()适合使用组合(Composite)模式。用户想使用一个已经存在的类,而它的接口不符合用户的需求当一个类的实例只能有几个不同状态组合中的一种时用户想表示对象的部分-整体层次结构一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变它的行为以下意图()可用来描述命令(Command。队或记录请求日志,以及支持可撤销的操作可独立于使用它的客户而变化为其他对象提供一种代理以控制对这个对象的访问保证一个类仅有一个实例,并提供一个访问它的全局访问点以下不属于行为型模式的是(。A.命令(Command) B.策略(Strategy)C.备忘录(Memento) D.桥接(Bridge)()不适合使用模板方法(TemplateMethod)模式。一次性实现-个算法的不变的部分,并将可变的行为留给子类来实现当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码控制子类扩展。模板方法只在特定点调用“hook”操作,这样就只允许在这些点进行扩展()不适合使用职责链(ChainofResponsibility)模式。有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定在需要用比较通用和复杂的对象指针代替简单的指针的时候用户想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求可处理一个请求的对象集合应被动态指定以下意图()可用来描述中介者(Mediator)。提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示将抽象部分与它的实现部分分离,使它们都可以独立变化定义一个用于创建对象的接口,让子类决定实例化哪一个类用-个中介对象来封装一系列的对象交互以下意图()可用来描述解释器(Interpreter。将抽象部分与它的实现部分分离,使它们都可以独立变化来解释语言中的句子将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示为其他对象提供一种代理以控制对这个对象的访问以下意图()可用来描述访问者(Visitor)。都得到通知并被自动更新表示一个作用于某对象结构中的各元素的操作样以后就可将该对象恢复到原先保存的状态用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象以下意图()可用来描述状态(State。使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的精合关系提供一种方法顺序访问一个聚合对象中各个元素而又不需暴露该对象的内部表示允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类样以后就可将该对象恢复到原先保存的状态设计模式具有的优点(。A.适应需求变化 B.程序易于理解C.减少开发过程中的代码开发工作量D.简化软件系统的设计二、多选题(共10分,每题2分)以下是模式的基本要素的是( 。名称 B.意图 C.解决方案D.参与者和协作者以下属于创建型模式的是( 。A.抽象工厂(AbstractFactory)模式 B.合成(Composite)模式C.单例(Singleton)模式 D.桥接(Bridge)模式以下关于结构型模式说法正确的是( 。结构型模式可以在不破坏类封装性的基础上,实现新的功能结构型模式主要用于创建一组对象结构型模式可以创建一组类的统→访问接口结构型模式可以在不破坏类封装性的基础上,使类可以同不曾估计到的系统进行交互以下属于行为对象模式的是( 。装饰(Decorator)模式 B.迭代器(Iterator)模式C.命令(Command)模式 D.中介者(Mediator)模式下面( )是访问者模式的优缺点。A.访问者模式使得易于增加新的操作 B.访问者集中相关的操作而分离无关的操作C.增加新的ConcreteElment类很困难 D.通过类层次进行访问三、判断题(共10分,每题1分;请在认为正确的题目后面写T,错误的题目后面写F)设计模式的两大主题是系统复用与系统扩展。( )抽象工厂模式提供了一系列相关或相互依赖对象的接口且必须指定他们具体的类。( )对象适配器模式是依赖倒转原则的典型应用( )Open-Close原则的含义是一个软件实体应当对扩展开放,对修改关闭( )Singleton(单例)模式属于结构性模式( )常用的设计模式可分为过程型、创建型和结构型( )对观察者模式触发事件的对象——Subject对象不需要知道观察事件的所有对象。 )通过在问题领域中使用模式,可以用一种不同的方式来看待问题( )对象适配器模式是依赖倒转原则的典型应用( )TemplateMethod是用以帮助从不同的步骤中抽象出一个通用的过程的模式( 四、名词解释(共15分,每题3分)设计模式开闭原则单一职责原则依赖关系学习中心:院校学号:姓名学习中心:院校学号:姓名PAGE7课程名称PAGE7课程名称:软件设计模式X组合关系五、简答题(共15分,每题5分)设计模式一般有哪几个基本要素?创建型模式分包括哪几种设计模式,各是什么并简要说明。说明访问者模式的定义与主要优缺点。六、综合题(共10分)入以及公司的利润率的影响。(Rate)(Company)和增加/change(intnumber汇率(RMBrate)类是具体目标,它实现了父类的change(intnumber)方法,即当人民币汇率发生改变时通过相关公司;公司(Company)类是抽象观察者,它定义了一个有关汇率反应的抽象方法respons巳(intnumber;进口公司(ImportCompany)类和出口公司(ExportCompany)类是具体观察者类,它们实现了父类的response(intnumber)方法,即当它们接收到汇率发生改变的通知时作为相应的反应。请画出该程序的类图。完整答案见下一页学习中心:院校学号:姓名学习中心:院校学号:姓名PAGE14课程名称PAGE14课程名称:软件设计模式X答案区:东北大学继续教育学院软件设计模式X 试卷(作业考核线上2) A 卷(共7 页)总分总分题号一二三四五六七八九十得分一、单选题(共40分,每题2分)常用的基本设计模式可分为(A)A.创建型、结构型和行为型 B.对象型、结构型和行为C.过程型、结构型和行为型 D.抽象型、接口型和实现对以下开闭原则的描述错误的是(A)开闭原则与“对可变性的封装原则”没有相似性C.对修改关闭,是其原则之一D.从抽象层导出一个或多个新具体类可以改变系统的行为,是其原则之一“不要和陌生人说话”是(D)原则的通俗表述。接口隔离B.里氏替换C.依赖倒置 D.迪米特当创建一个具体的对象而又不希望指定具体的类时,可以使用(D)结构型B.创建型 C.行为型 D.以上都可以以下(C)是利用一个对象,快速地生成一批对象。抽象工厂(AbstractFactory)模式 B.原型(Prototype)模式C.合成(Composite)模式 D.桥接(Bridge)模式以下(B)用来描述建造者(Builder。定义一个用于创建对象的接口,让子类决定实例化哪一个类将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示保证一个类仅有一个实例,并提供→个访问它的全周访问点运用共享技术有效地支持大量细粒度的对象以下(C)用来描述工厂方法(FactoryMethod)模式。提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类下定义作用于这些元素的新操作迟到其子类独立于使用它的客户而变化对象适配器模式是(A)原则的典型应用。起工作的那些类可以一起工作。定义一个用于创建对象的接口,让子类决定实例化哪一个类下定义作用于这些元素的新操作队或记录请求日志,以及支持可撤销的操作关于模式适用性,以下(D)Flyweight(享元)模式。一个应用程序使用了大量的对象完全由于使用大量的对象,造成很大的存储开销对象的大多数状态都可变为外部状态用户想使用一个已经存在的类,而它的接口不符合用户的需求如果有一个2MB的文本(英文字母,为了对其中的字母进行分类和计数,若为文本的每个字母都定义一个对象显然不合实际,对与该问题最好可使用的模式是(B 。A.装饰(Decorator)模式B.享元(Flyweight)模式C.合成(Composite)模式D.命令(Command)模式(C)适合使用组合(Composite)模式。用户想使用一个已经存在的类,而它的接口不符合用户的需求当一个类的实例只能有几个不同状态组合中的一种时用户想表示对象的部分-整体层次结构一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变它的行为以下意图A)可用来描述命令(Command。队或记录请求日志,以及支持可撤销的操作可独立于使用它的客户而变化为其他对象提供一种代理以控制对这个对象的访问保证一个类仅有一个实例,并提供一个访问它的全局访问点以下不属于行为型模式的是(D。A.命令(Command) B.策略(Strategy)C.备忘录(Memento) D.桥接(Bridge)(B)不适合使用模板方法(TemplateMethod)模式。一次性实现-个算法的不变的部分,并将可变的行为留给子类来实现当对一个对象的改变需要同时改变其他对象,而不知道具体有多少对象有待改变有代码中的不同之处,并且将不同之处分离为新的操作。最后,用一个调用这些新的操作的模板方法来替换这些不同的代码控制子类扩展。模板方法只在特定点调用“hook”操作,这样就只允许在这些点进行扩展(B)不适合使用职责链(ChainofResponsibility)模式。有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定在需要用比较通用和复杂的对象指针代替简单的指针的时候用户想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求可处理一个请求的对象集合应被动态指定以下意图(D)可用来描述中介者(Mediator)。提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示将抽象部分与它的实现部分分离,使它们都可以独立变化定义一个用于创建对象的接口,让子类决定实例化哪一个类用-个中介对象来封装一系列的对象交互以下意图B)可用来描述解释器(Interpreter。将抽象部分与它的实现部分分离,使它们都可以独立变化给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示为其他对象提供一种代理以控制对这个对象的访问以下意图(B)可用来描述访问者(Visitor)。都得到通知并被自动更新表示一个作用于某对象结构中的各元素的操作样以后就可将该对象恢复到原先保存的状态用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象以下意图(C)可用来描述状态(State。使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的精合关系提供一种方法顺序访问一个聚合对象中各个元素而又不需暴露该对象的内部表示允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类样以后就可将该对象恢复到原先保存的状态设计模式具有的优点(A。A.适应需求变化 B.程序易于理解C.减少开发过程中的代码开发工作量D.简化软件系统的设计二、多选题(共10分,每题2分)以下是模式的基本要素的是( ABCD 。名称 B.意图 C.解决方案D.参与者和协作者以下属于创建型模式的是( AC 。A.抽象工厂(AbstractFactory)模式 B.合成(Composite)模式C.单例(Singleton)模式 D.桥接(Bridge)模式以下关于结构型模式说法正确的是( ABCD。结构型模式可以在不破坏类封装性的基础上,实现新的功能结构型模式主要用于创建一组对象结构型模式可以创建一组类的统→访问接口结构型模式可以在不破坏类封装性的基础上,使类可以同不曾估计到的系统进行交互以下属于行为对象模式的是(BCD 。装饰(Decorator)模式 B.迭代器(Iterator)模式C.命令(Command)模式 D.中介者(Mediator)模式下面( ACD)是访问者模式的优缺点。A.访问者模式使得易于增加新的操作 B.访问者集中相关的操作而分离无关的操作C.增加新的ConcreteElment类很困难 D.通过类层次进行访问三、判断题(共10分,每题1分;请在认为正确的题目后面写T,错误的题目后面写F)设计模式的两大主题是系统复用与系统扩展。(T )抽象工厂模式提供了一系列相关或相互依赖对象的接口且必须指定他们具体的类( F)对象适配器模式是依赖倒转原则的典型应用(F )Open-Close原则的含义是一个软件实体应当对扩展开放,对修改关闭(T )Singleton(单例)(F)常用的设计模式可分为过程型、创建型和结构型(F )对观察者模式,触发事件的对象——Subject对象不需要知道观察事件的所有对象。(T )(T)对象适配器模式是依赖倒转原则的典型应用(F )TemplateMethod是用以帮助从不同的步骤中抽象出一个通用的过程的模式(T 四、名词解释(共15分,每题3分)设计模式答:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。开闭原则答:一个软件实体应当对扩展开放,对修改关闭,即在不修改源代码的基础上扩展一个系统的行为。单一职责原则答:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。依赖关系答:依赖关系是一种使用关系,它是对象之间相合度最弱的一种关联方式,是临时性的关联。组合关系答:组合关系也是关联关系的一种,也表示类之间的整体与部分的关系,但它是一种更强烈的聚合关系,是contains-a关系。在组合关系中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体对象而存在。五、简答题(共15分,每题5分)设计模式一般有哪几个基本要素?设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括模式名称、问题、解决方案和效果。创建型模式分包括哪几种设计模式,各是什么并简要说明。⑴单例(Singleton)模式:某个类只能生成一个实例,该类提供了一个全局访问点供外部获取该实例,其拓展是有限多例模式。⑵原型(Prototype)模式:将一个对象作为原型,通过对其进行复制而克隆出多个和原型类似的新实例。⑶工厂方法(FactoryMethod)模式:定义一个用于创建产品的接口,由子类决定生产什么产品。⑷抽象工厂(AbstractFactory)模式:提供一个创建产品族的接口,其每个子类可以生产一系列相关的产品。⑸建造者(Builder)模式:将一个复杂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论