版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北大学继续教育学院软件设计模式复习题一:单选题题号1234567答案BBDDACA题号891011121314答案DDBCACC在c#程序中,入口函数的正确声明为:BTOC\o"1-5"\h\zstaticintmain(){ }staticvoidMain(){……}staticvoidmain(){ }voidMain(){ }在C#中,表示一个字符串的变量应使用以下哪条语句定义?BCStringstr;stringstr;Dimstrasstringchar*str;结构化程序设计的3种结构是:D顺序结构、f结构、for结构f结构、f...else结构、else讦结构while结构、do...while结构、foreach结构顺序结构、分支结构、循环结构能正确表示逻辑关系“a>=10或av=0”的C#语言表达式是—a>=10ora<=0a>=10|a<=0a>=10&&a<=0a>=10||a<=0在类的外部可以被访问的成员是:Apublic成员B.private成员C.protected成员D.protectedinternal成员在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成 。Csealed方法public方法visual方法override方法关于结构类型,下列说法哪些是正确的?A结构是值类型结构中不允许定义带参数的实例构造函数;结构中不允许定义析构函数结构中可以定义成员方法,但是方法内不能使用this指针下面是几条动态初始化二维数组的语句,指出其中正确的:Dintarr5[][]=newint[4,5];int[][]arr6=newint[4,5];intarr7[,]=newint[4,5];int[,]arr8=newint[4,5];下面有关析构函数的说法中,不正确的是:D析构函数中不可以包含return语句一个类中只能有一个析构函数析构函数在对象被撤销时,被自动调用用户可以定义有参析构函数下列说法哪个正确?B不需要定义类,就能创建对象属性可以定义为抽象的对象中必须有属性和方法常量不能作为类成员下面有关静态方法的描述中,正确的是:C静态方法属于类,不属于实例静态方法可以直接用类名调用静态方法中,可以访问非静态的局部变量静态方法中,可以访问静态的变量以下描述错误的是()A在C++中支持抽象类,但在C#中不支持抽象类。C++中可在头文件中声明类的成员,而在CPP文件中定义类的成员;在C#中没有头文件并且在同一处声明和定义类的成员。在C#中可使用new修饰符显式隐藏从基类继承的成员。在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。下列关于构造函数的描述正确的是()C构造函数可以声明返回类型。构造函数不可以用private修饰构造函数必须与类名相同构造函数不能带参数变量x的值为25,要输出x的值,下列正确的语句是—。CSystem.Console.writeline(“x”)System.Console.WriteLine(“x”)System.Console.writeline(“x={0}”,x)System.Console.writeline(“x={x}”)二:判断题题号1234567答案VXVXXVX题号891011121314答案VVVXVVV结构化程序设计的3种基本结构是顺序、循环和选择。(V)面向数据流的设计以面向对象分析阶段的数据流图为基础。(X)软件测试方法主要白盒测试和黑盒测试两种。(V)螺旋模型包括制定计划、概要设计,详细设计和工程实施四个主要部分。(X)面向过程方法的缺点是过程和数据结合的过于紧密。(X)消息可以用顺序图和协作图这两种图来表示。(V)状态图、顺序图、协作图和部署图属于动态建模机制。(X)8•顺序图描述系统中对象间通过消息进行的交互,强调消息在时间轴上的先后顺序。(V)9.提倡设计模式的根本原因是增强代码复用,增加可维护性。(V)课程名称:软件设计模式 3里氏代换原则的本质是在同一个继承体系中的对象应该有共同的行为特征。(V)工厂方法是抽象工厂模式的扩展。(X)提倡设计模式的根本原因是增强代码复用,增加可维护性。(V)当创建派生类对象时,先执行基类的构造函数,后执行派生类的构造函数。(V)虚函数是可由子类继承并重写的函数。(V)三:简答题试简述瀑布模型。答:瀑布模型将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序。如同瀑布流水,逐级下落。每个阶段都会产生循环反馈:下一阶段信息未被覆盖或发现问题,可返回上一阶段进行修改。设计模式的基本要素有哪些?答:设计模式的基本要素包括:(1) 模式名称:一个助记名,它用一两个词来描述模式的问题、解决方案和效果。(2) 问题:描述了应该在何时使用模式。解释设计问题和问题存在的前因后果,它可能描述了特定的设计问题,也可能描述了导致设计方案不灵活的类或对象结构。(3) 解决方案:描述设计的组成成分,它们之间的相互关系及各自的职责和协作方式。解决方案一般并不描述特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。(4) 效果:描述了模式应用的效果及使用模式应权衡的问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响。什么是创建型设计模式,它的目的是什么?答:创建型设计模式就是用来创建对象的模式,抽象了实例化的过程。创建型模式的目的将具体的对象的实例化操作封装起来,客户端只了解自己需要某个实例,但不必了解该实例的创建过程。这体现了面向对象设计方法中“高内聚,低耦合”的设计原则。四:综合题定义一个抽象的运动员(Player)基类,具有抽象方法Train方法。然后以该类为基类,派生出BasketballPlayer、FootballPlayer等类。///抽象类:运动员publicabstractclassPlayer{publicabstractvoidTrain();}publicclassBasketballPlayer:Player{publicoverridevoidTrain(){Console.WriteLine("Basketballplayersaretraining...");}}publicclassFootballPlayer:Player{publicoverridevoidTrain(){Console.WriteLine("Footballplayersaretraining...");}}结构模式适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。桥接模式(Bridge),将抽象部分与它的实现部分分离,使它们都可以独立地变化。组合模式(Composite),将对象组合成树形结构以表示“部分整体”的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。容器模式修饰模式(Decorator) ,动态地给一个对象添加一些额外的职责。就扩展功能而言,它比生成子类方式更为灵活。5. 扩展性模式6.外观模式7. 享元模式管道与过滤器模式代理模式(Proxy),为其他对象提供一个代理以控制对这个对象的访问。行为模式责任链模式(ChainofResponsibility),为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。柯里化模式事件监听器模式解释器模式迭代器模式中介者模式备忘录模式(Memento),在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。观察者模式(Observer),定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。状态模式(State),允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。策略模式(Strategy),定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。模板方法模式访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。层次访问者模式一、描述模式的格式大致分为以下四个主要部分:模式名称(PatternName):每一个模式都有自己的名字,模式的名字使得我们可以讨论我们的设计。问题(Problem):在面向对象的系统设计过程中反复出现的特定场合,它导致我们采用某个模式。解决方案(Solution):上述问题的解决方案,其内容给出了设计的各个组成部分,它们之间的关系、职责划分和协作方式。效果(Consequence):采用该模式对软件系统其他部分的影响,比如对系统的扩充性、可移植性的影响。影响也包括负面的影响。别名(AlsoKnownAs):一个模式可以有超过一个以上的名称。这些名称应该要在这一节注明。动机(Motivation):该模式应该利用在哪种情况下是本节提供的方案(包括问题与来龙去脉)的责任。应用(Applicability)课程名称:软件设计模式 7结构(Structure):这部分常用类图与互动图阐述此模式。参与者(Participants):这部分提供一份本模式用到的类与物件清单,与它们在设计下扮演的脚色。合作(Collaboration):描述在此模式下,类与物件间的互动。结果(Consequences):这部分应描述使用本模式後的结果、副作用、与交换(trade-off)实现(Implementaion):这部分应描述实现该模式、该模式的部分方案、实现该模式的可能技术、或者建议实现模式的方法。例程(SampleCode):示范程式。已知应用(KnownUses):业界已知的实做范例。相关模式(RelatedPatterns):这部分包括其他相关模式,以及与其他类似模式的不同。二、相近术语编辑对某个问题经常出现的、在设计中应该尽量避免的、坏的设计方案被称为反模式。模式列表基础模式委托模式接口模式代理模式创建模式抽象工厂模式(AbstractFactory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。生成器模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。工厂方法模式(FactoryMethord),定义一个用于创建对象的接口,让子类决定将哪一个类实例化。FactoryMethod使一个类的实例化延迟到其子类。原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。结构模式适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。桥接模式(Bridge),将抽象部分与它的实现部分分离,使它们都可以独立地变化。组合模式(Composite),将对象组合成树形结构以表示“部分-整体"的层次结构。它使得客户对单个对象和复合对象的使用具有一致性。容器模式修饰模式(Decorator) ,动态地给一个对象添加一些额外的职责。就扩展功能而言,它比生成子类方式更为灵活。扩展性模式外观模式享元模式管道与过滤器模式代理模式(Proxy),为其他对象提供一个代理以控制对这个对象的访问。行为模式责任链模式(ChainofResponsibility),为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。柯里化模式事件监听器模式解释器模式迭代器模式课程名称:软件设计模式中介者模式备忘录模式(Memento),在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到保存的状态。观察者模式(Observer),定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。状态模式(State),允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。策略模式(Strategy),定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。模板方法模式访问者模式(Visitor),表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。层次访问者模式并发模式模式Actionatadistance模式Balking模式Guardedsuspension模式Scheduler模式Readwritelock模式Doublecheckedlocking模式Disablejobrequestswhilerunningjob实时模式模式Scheduledtask模式Userinterface模式Disablejobrequestswhilerunningjob课程名称:软件设计模式 10其他模型—视图—控制器模式6、四
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026科目一模拟考试题目及答案
- 2026春季学期电大考试《合同法》考题库及答案
- 2027届湖北省咸宁市高考物理必刷试卷(含答案解析)
- 无线网络遭受无线干扰故障应急演练脚本
- 2026年二建机电实务高频模拟试卷及答案
- 2026年财务报销流程考试题(附答案)
- 2026年江苏省中考道德与法治真题试卷三套附答案
- 高中生物 第三章 遗传的分子基础 第四节 遗传信息的表达和蛋白质的合成教案2 浙科版必修2
- 王尔德阅读理解试题及答案
- 福建电工证测试试题与答案分享
- 2026年泌尿外科出科试卷及答案
- 2026小学数学北师大版新教材培训:四至六年级教材解析
- AI原生数据平台研究报告(2026年)(2026.6)
- 2026年成都玉林紫荆初一入学数学分班考试真题含答案
- 工程预应力张拉与灌浆质量控制措施
- 2026人教版小学三年级下册数学期末综合试卷3套(打印版+答案解析)
- 一氧化二氮的理化性质与危险特性培训
- 2026年江苏省安全员C2证(土建安全员)考试题库及答案
- DB11-T 1610-2026 民用建筑信息模型深化设计建模细度标准
- 上海市小升初英语单词表
- 《噪声敏感建筑物集中区域划分技术规范》编制说明
评论
0/150
提交评论