文档库 最新最全的文档下载
当前位置:文档库 › 设计模式期末考试复习

设计模式期末考试复习

设计模式期末考试复习
设计模式期末考试复习

《软件建模》考试试题举例

一、判断题

1.单例类易扩展、易复用。(错)

2.装饰模式能够动态地为一个对象增加新的职责。(对)

二、单项选择题

1.简单工厂模式的优点不包括(D )。

A. 它提供了专门的工厂类用于创建对象,实现了对责任的分割。

B. 客户无须知道所创建的具体产品类的类名。

C. 客户可以免除直接创建产品对象的责任,而仅仅“消费”产品。

D. 工厂角色可以通过继承而得以复用。

三、设计词汇与概念配对题

下面列出了5个设计词汇,请从后面的9段叙述中选择最贴切的一个叙述,将其编号填入对应词汇后面的括号中。

1.单一职责( A )

2.依赖倒置( D )

A. 就一个类而言,应该仅有一个引起它变化的原因。(单一职责原则)

B. 一个软件实体应当对扩展开放,对修改关闭。(开闭原则)

C. 所有引用基类(父类)的地方必须能透明地使用其子类的对象。(里氏代换原则)

D. 要针对接口或抽象类编程,而不是针对具体类编程。(依赖倒置原则)

E. 一个软件实体应当尽可能少的与其他实体发生相互作用。(迪米特法则)

四、软件建模题

1.下图是一间教室的状态转换图,请将图中()处的内容补充完整。

2.请回答以下关于装饰模式的问题。

(1)下图是装饰模式的设计类图,请补充完整。

(2)装饰模式中包含哪四种角色?相互之间如何协作?

抽象构件(Component)

具体构件(ConcreteComponent)

抽象装饰类(Decorate)

具体装饰类(ConcreteDecorate)

(3)装饰模式能解决哪一类软件设计问题?

在不影响其他对象的情况下,以动态、透明的方式给一个对象增加额外职责,与继承相比更加灵活,并且能够处理那些可以撤销的职责

五、综合应用题

1. 咖啡店为了进一步满足顾客的口味,允许顾客可以在普通咖啡中自由地加入多种配料(包括加糖、加奶、加冰等)。咖啡店规定:普通咖啡5元一杯,加糖多收1元,加奶多收2元,加冰多收1元。使用装饰模式设计的类图如下所示:

(1)若ICoffee接口与Coffee类定义如下,请编写出CoffeeDecorator类的完整代码。public interface ICoffee {

double getPrice();

}

public class Coffee implements ICoffee{

@Override

public double getPrice() {

return 5;

}

}

Public abstract class CoffeeDecorator implements ICoffee{

Private ICoffee coffee;

Public CoffeeDecorator(ICoffee coffee){

This.coffee = coffee;

}

}

(2)以下程序创建一杯加糖加奶咖啡,请补充填写下划线处的Java代码。

public class Client {

public static void main(String[] args) {

ICoffee coffee= new SugerCoffee();

System.out.println("加糖加奶咖啡的价格是:"+coffee.getPrice());

}

}

1.UML(图形元素及表示):类图、状态转换图、活动图、顺序图。

2.设计模式(设计图、设计思路、案例、实现代码):装饰模式、适配器模式、单例模式、简单工厂模式。

3.面向对象设计原则(理解内涵)

类图:

类图是用来描述软件系统中类以及类之间的关系的一种图示,是从静态角度表示系统的。

状态转换图:

通过建立对象的生存周期模型来描述对象随时间变化的动态行为(起点终点、状态、事件、转换)

活动图:

显示活动动作及其结果,着重描述操作(方法)实现中所完成的工作以及用例实例或对象中的活动。(活动、动作流、分支与合并、分叉与回合、泳道、组合活动)

顺序图:

顺序图是描述对象之间传送消息的时间顺序,它用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条消息对应了一个类操作中引起转换的触发事件。(对象、生命线、消息)

设计模式试卷

设计模式期中考试试题 一:单项选择(共20道,每道2分) 1、设计模式一般用来解决什么样的问题( ) A.同一问题的不同表相B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2、下列属于面向对象基本原则的是( ) A.继承 B.封装 C.里氏代换D都不是 3、Open-Close原则的含义是一个软件实体( ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。 A.创建型 B.结构型C行为型D.以上都可以 5、要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( )的表述 A.开-闭原则 B.接口隔离原则 C.里氏代换原则 D.依赖倒转原则 6、设计模式的两大主题是( ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 7、“不要和陌生人说话” 是( )原则的通俗表述 A.接口隔离 B.里氏代换 C.依赖倒转 D.迪米特:一个对象应对其他对象尽可能少的了解 8、构造者的的退化模式是通过合并()角色完成退化的。 A.抽象产品B产品C创建者D使用者 9、以下关于简单工厂模式叙述错误的是() A 它属于GoF23种设计模式 B 它是最简单的设计模式之一 C 它是学习其他创建型模式的基础 D 它只需要记住一个简单的参数即可获得所需对象的实例 E 它类中的方法通常为静态方法 F 它返回的类都有一个公共的父类和公共的方法 10、对象适配器模式是()原则的典型应用。 A.合成聚合复用原则 B.里式代换原则 C.依赖倒转原则 D.迪米特法则 D.以上表述全部错误。 11.对于依赖倒转的表述错误的是() A.依赖于抽象而不依赖于具体,也就是针对接口编程。 B.依赖倒转的接口并非语法意义上的接口,而是,一个类对其他对象进行调用时,所知道的方法集合。 C.从选项B的角度论述,一个对象可以有多个接口。 D.实现了同一接口的对象,可以在运行期间,顺利地进行替换。而且不必知道所示用的对象是那个实现类的实例。 E.此题没有正确答案。 12. 现有5个产品族,分布于3各不同的产品等级结构,只要指明一个产品所处的产品族以及它所在的等级结构,就可以唯一地确认这个产品。那么使用抽象工厂方法模式只需要提供

机械设计期末考试试题及答案.doc

机械设计期末考试试题及答案 一、选择题 ( 共 20 分,每小题 2 分) 1、通常,一个零件的磨损过程大致可分为三个阶段,按先后顺序,它们依次是 ( ) A. 剧烈磨损、磨合、稳定磨损 B. 稳定磨损,剧烈磨损、磨合 C. 磨合、剧烈磨损、稳定磨损 D. 磨合、稳定磨损、剧烈磨损 2、设计斜齿圆柱齿轮传动时,螺旋角β一般 在80~200范围内选取,β太小斜齿轮传动的优点不明显,太大则会引起( ) 。 A. 大的切向力 B. 大的轴向力 C. 小的切向力 D. 小的轴向力 3、若一滚动轴承的寿命为1370000 转,则该轴承所承受的当量动载荷( ) 基本额定动载荷。 A. 等于 B. 小于 C. 大于 D. 无法判断 4、在不完全液体润滑滑动轴承设计中,除了限制轴承p 值外,还要对轴承 pv 值 进行验算,其主要目的是( ) 。 A. 限制轴承过渡磨损 B. 限制轴承的温升 C. 保证轴承的强度 D. 限制 轴承的质量 5、通常,一部机器主要是由( ) 三部分构成的。 A. 原动部分,传动部分,执行部分 B. 原动部分,传动部分,控制部分 C. 辅助系统,传动部分,控制部分 D. 原动部分,控制部分,执行部分 6、一般参数的闭式硬齿面齿轮传动的主要失效形式是( ) 。 A. 齿面点蚀 B. 轮齿折断 C.齿面磨粒磨损 D.齿面胶合 7、在 V 带传动中,小轮包角一般应大于( ) 度。 A. 90 B. 100 C. 150 D. 120 8、一齿轮传动,主动轮 1 用 45 号钢调质,从动轮 2 用 45 号钢正火,则它们的齿面接触应力( ) 。 A. H 1 H 2 B. H 1 H 2 C. H1 H 2 D. 无法判断 9、蜗杆蜗轮传动的传动比,正确表达式是( ) 。 A. d2 B. i z2 C. i n2 D. i d1 i z1 n1 d2 d1 10、设计一对材料相同的软齿面齿轮传动时,一般应使大齿轮的齿面硬度 HBS2( ) 小齿轮的齿面硬度HBS1 。 A. 大于 B. 小于 C. 等于 D. 大于或等于 二、填空题 ( 共 10 分) 1、在轴的结构设计中,轴的最小直径d min是按初步确定的。 (1 分) 2、受轴向载荷的紧螺栓所受的总拉力是与之和。 (1 分) 3、在斜齿圆柱齿轮的设计计算中,考虑到实际承载区的转移,斜齿轮传动的许 用接触应力可取为[H ]1与[H]2。(1分) 1

吉林大学设计模式期末考试试题答案整理

设计模式分为三种类型,共23种。 创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式(Interpreter模式)、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。 工厂模式(Factory) 意图 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 适用性 ●当一个类不知道它所必须创建的对象的类的时候。 ●当一个类希望由它的子类来指定它所创建的对象的时候。 ●当类将创建对象的职责委托给多个帮助子类中的某一个,并且你希望将哪一个帮助子类是代理者这一 信息局部化的时候。 抽象工厂模式(Abstract Factory) 意图 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 适用性 ●一个系统要独立于它的产品的创建、组合和表示时。 ●一个系统要由多个产品系列中的一个来配置时。 ●当你要强调一系列相关的产品对象的设计以便进行联合使用时。 ●当你提供一个产品类库,而只想显示它们的接口而不是实现时。 建造者模式Builder 意图 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 适用性

●当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。 ●当构造过程必须允许被构造的对象有不同的表示时。 原型模式Prototype 意图 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 适用性 ●当要实例化的类是在运行时刻指定时,例如,通过动态装载;或者 ●为了避免创建一个与产品类层次平行的工厂类层次时;或者 ●当一个类的实例只能有几个不同状态组合中的一种时。建立相应数目的原型并克隆它们可能比每次用 合适的状态手工实例化该类更方便一些。 单例模式Singleton 意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性 ●当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 ●当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例 时。 适配器模式Adapter 意图 将一个类的接口转换成另外一个客户希望的接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 适用性 ●你想使用一个已经存在的类,而它的接口不符合你的需求。 ●你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼 容的类)协同工作。 ●(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配 它们的接口。对象适配器可以适配它的父类接口。

设计模式复习提纲

设计模式复习提纲 第一章 1.状态图的定义 状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件。 第二章 1.软件的可维护性和可复用性(?) 软件可维护性,即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。 可复用性:复用又叫重用,是重复使用的意思。 2.面向对象设计原则 (1)单一职责原则 (2)开闭原则 (3)里氏代换原则 (4)依赖倒转原则 (5)接口隔离原则 (6)合成复用原则 (7)迪米特法则 3.单一职责原则定义 单一职责原则定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。 另一种定义:就一个类而言,应该仅有一个引起它变化的原因。 4.开闭原则定义 开闭原则定义:一个软件实体应当对扩展开放,对修改关闭。 5.里氏代换原则定义 里氏代换原则有两种定义方式。 第一种定义方式相对严格,其定义如下: 如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P 在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型S是类型T的子类型。第二种更容易理解的定义方式如下: 所有引用基类(父类)的地方必须能透明地使用其子类的对象。 6.依赖倒转原则定义 依赖倒转原则定义:高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 另一种表述为:要针对接口编程,不要针对实现编程。 7.接口隔离原则定义 接口隔离原则定义:客户端不应该依赖那些它不需要的接口。注意:在该定义中的接口指的是所定义的方法。

另一种定义方法:一旦一个接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。 8.合成复用原则定义 合成复用原则,又称为组合/聚合复用原则,其定义如下:尽量使用对象组合,而不是继承来达到复用的目的。 9.迪米特法则定义 迪米特法则,又称为最少知识原则,它有多种定义方法,其中几种典型定义如下: (1)不要和“陌生人”说话。 (2)只与你的直接朋友通信。 (3)每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。 第三章 1.模式的定义 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。可以用一句话简单表示为:模式是在特定环境中解决问题的一种方案。 2.设计模式的定义 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 3.设计模式的基本要素 设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面:模式名称、问题、解决方案、效果。 4.设计模式的分类 (1)根据其目的(模式是用来做什么的)可分为创建型、结构型和行为型三种: ①创建型模式主要用于创建对象。 ②结构型模式主要用于处理类或对象的组合。 ③行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。 (2)根据范围,即模式主要是用于处理类之间关系还是处理对象之间的关系,可分为类模式和对象模式两种: ①类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。 ②对象模式处理对象间的关系,这些关系在运行时刻变化,更具动态性。 5.GoF设计模式简介 GoF 最先将模式的概念引入软件工程领域,他们归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。

软件设计模式试题集 含答案

设计模式试题 一.选择 1. 设计模式具有的优点()。 A.适应需求变化 B.程序易于理解 C.减少开发过程中的代码开发工作量 D.简化软件系统的设计 2. 设计模式一般用来解决什么样的问题( )。 A.同一问题的不同表相 B 不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 3. 设计模式的两大主题是( )。 A.系统的维护与开发 B.对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 4. 以下哪些问题通过应用设计模式不能够解决。() A)指定对象的接口B)针对接口编程 C)确定软件的功能都正确实现D)设计应支持变化 二.填空 1. 模式的基本要素包括名称、意图、问题、解决方案、参与者和协作者、(效果)、实现、GoF 参考。 2. 设计模式基本原则包括:开闭原则,(从场景进行设计的原则),包容变化原则。 3. 设计模式是一个(抽象)的方案,它可以解决一类问题。 4. 1. 在设计模式群体中,效果是指(原因和结果)。三. 判断 1. 适配器模式属于创建型模式。错 2. 在设计模式中,“效果”只是指“原因和结果”。对 3. 设计模式使代码编制不能真正工程化。错 4. 设计模式的两大主题是系统复用与系统扩展。对四. 名词解释 1. 设计模式 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 2. 模板 模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 3. 模式 就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。 4. 内聚度 模块内部各成分彼此结合的紧密程度。五.简答 题 1. 什么是设计模式?设计模式的目标是什么?设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码 设计经验的总结。使用设计模式是为了可 重用代码、让代码更容易被他人理解、保证代码可靠性。 2. 设计模式的基本要素有哪些? 名称,意图,问题,解决方案,参与者和协作者,效果,实现,GOF 参考。 3. 设计模式中一般都遵循的原则有什么? 开-闭原则,根据场景进行设计原则,优先组合原则,包容变化原则。 4. 四人团针对“创建优秀面向对象设计”建议了哪些策略? 针对接口编程,优先使用对象组合而不是类继承,找到并封装变化点。 第6 章 facade(外观)模式 一.选择 1. 外观模式的作用是()。A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些 额外的功能。B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更 加容易使用。

机械设计四套期末考试试题及参考答案

精心整理《机械设计》课程试题(一) 一、填空题(每空1分共31分) 1、当一零件受脉动循环变应力时,则其平均应力是其最大应力的(?????)。 2、三角形螺纹的牙型角α=(???),适用于(???),而梯形螺纹的牙型角α=(?????),适用 于(?????)。 3、螺纹连接防松,按其防松原理可分为(????)防松、(????)防松和(????)防松。 4、(?????)。 5 6 7 力( ??? 8、(η= ( ??效率。 9 10 1、循环特性r=-1的变应力是(?????)应力。 A.对称循环变???B、脉动循环变?C.非对称循环变???D.静 2、在受轴向变载荷作用的紧螺柱连接中,为提高螺栓的疲劳强度,可采取的措施是(???)。 A、增大螺栓刚度Cb,减小被连接件刚度Cm?B.减小Cb.增大CmC.增大Cb和Cm???D.减小Cb 和Cm 3、在螺栓连接设计中,若被连接件为铸件,则往往在螺栓孔处做沉头座孔.其目的是(???)。

???A .避免螺栓受附加弯曲应力作用?????B .便于安装????C .为安置防松装置 4、选取V 带型号,主要取决于(?????)。 ???A .带的线速度???B .带的紧边拉力 ???C .带的有效拉力???D .带传递的功率和小带轮转速 5、对于标准齿轮传动,影响齿形系数Y 的主要几何参数是(?????)。 A .齿轮的模数??? B .齿轮的压力角?? C .齿轮的齿数??? D .齿轮的顶隙系数 6 b 1=80,b 2=???A .7(????????A 8A 9????A 10A 、F 0=1000N 总拉力F 2=?剩余预紧力F 1=?在预紧力F 0不变的条件下,若保证被连接件间不出现缝隙,该螺栓的最大轴向工作载荷F max 为多少??? 2、(13分)如图3-2所示的手摇起重绞车采用蜗杆传动。巳知模数m =8mm ,蜗杆头数z 1=1,蜗杆分度圆直径d 1=80mm ,蜗轮齿数z 2=40,卷筒直径D =200mm ,蜗杆与蜗轮间的当量摩擦系数f V =0.03,轴承和卷简中的摩擦损失等于6%,问: ???(1)欲使重物W 上升1m,手柄应转多少转?并在图上标出手柄的转动方向。 ???(2)若重物W = 5000N ,手摇手柄时施加的力F =

设计模式考试复习题

一、1. 设计模式一般用来解决什么样的问题: A.同一问题的不同表相 2. 下列属于面向对象基本原则的是: C.里氏代换 3. Open-Close原则的含义是一个软件实体:A.应当对扩展开放,对修改关闭. 4. 当我们想创建一个具体的对象而又不希望指定具体的类时,使用(A)模式。A.创建型 5. 要依赖于抽象不要依赖于具体。即针对接口编程不要针对实现编程:(D)依赖倒转原则 6. 依据设计模式思想,程序开发中应优先使用的是( A )关系实现复用。A, 委派 7. 设计模式的两大主题是( D ) D.系统复用与系统扩展 8. 单体模式中,两个基本要点(AB)和单体类自己提供单例A .构造函数私有 B.唯一实例 9. 下列模式中,属于行为模式的是( B ) B观察者 10. “不要和陌生人说话”是( D )原则的通俗表述 D.迪米特 1. 软件体系结构是指一个系统的有目的的设计和规划,这个设计规划既不描述活动,也不描述系统怎样开发,它只描述系统的组成元素及其相互的交互协作。 2.一个UML模型只描述了一个系统要做什么,它并没告诉我们系统是怎么做。 3.接口是可以在整个模型中反复使用的一组行为,是一个没有属性而只有方法的类。 4.多重性指的是,某个类有多个对象可以和另一个类的一对象关联。 5.当一个类的对象可以充当多种角色时,自身关联就可能发生。 6.在泛化关系中,子类可以替代父类。后前者出现的可以相同地方。反过来却不成立。 7.最通常的依赖关系是一个类操作的形构中用到了另一个类的定义。 8.组成是强类型的聚集,因为聚集中的每个部分体只能属于一个整体。 9.实现的符号和继承的符号有相似之处,两者的唯一差别是实现关系用虚线表示,继承关系用实线表示。 10. 设计模式中应优先使用对象组合而不是类继承。 1.适配器模式属于创建型模式结构型( F ) 2.在设计模式中,“效果”只是指“原因和结果”( T ) 3.设计模式使代码编制不能真正工程化( T ) 4.面向对象语言编程中的异常处理,可以理解为责任链模式(T ) 5.反模式就是反对在软件开发过程中使用设计模式分析:反模式用来解决问题的带有共性的不良方法(F ) 1.什么是设计模式?设计模式目标是什么? 答:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解,保证代码可靠性。 2.设计模式中一般都遵循的原则有什么? 答:开闭原则、根据场景进行设计原则、优先组合原则、包容变化原则 3.“Gang of Four”针对“创建优秀面向对象设计”建议了哪些策略? 答:针对接口编程、优先使用对象组合而不是类继承,找到并封装变化点。 4.面向对象系统中功能复用的两种最常用技术是什么? 答:类继承和对象组合,类继承允许你根据其他类的实现来定义一个类的实现。父类的内部细节对子类可见。 类继承是在编译时刻静态定义的,且可直接使用,类继承可以较方便地改变被复用的实现。对象组合是类继承之外的另一种复用选择。新的更复杂的功能可以通过组装或组合对象来获得。对象组合要求被组合的对象具有良好定义的接口。 5.只根据抽象类中定义的接口来操纵对象有什么好处? 答:1) 客户无须知道他们使用对象的特定类型,只须对象有客户所期望的接口。 2) 客户无须知道他们使用的对象是用什么类来实现的,他们只须知道定义接口的抽象类。 五、应用题(分值15) 公司架构:经理、工程师、技师和后勤人员都是公司的雇员,经理管理工程师、技师和后勤人员。高层经理领导较低级别的经理。典型层次图如下:可以使用哪种设计模式实现公司的层级关系?并说明为什么? 组合模式,第一,其公司关系架构为树形结构;第二,其表示了部分-整体关系(自己扩展)

设计模式课后习题

建造者模式 课后第一题: 产品类: public class GamePerson { private String face; private String gender; private String cloth; public String getFace() { return face; } public void setFace(String face) { this.face = face; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getCloth() { return cloth; } public void setCloth(String cloth) { this.cloth = cloth; } } 抽象建造类: public abstract class PersonCreate { protected GamePerson person=new GamePerson(); public abstract void createFace(); public abstract void createGender(); public abstract void createCloth(); public GamePerson getPerson(){ return person; } }

具体建造者类: public class PersonType1 extends PersonCreate { public void createFace() { person.setFace("瓜子脸"); } public void createGender() { person.setGender("美女"); } public void createCloth() { person.setCloth("洛丽塔"); } } 具体建造类: public class PersonType2 extends PersonCreate { public void createFace() { person.setFace("国字脸"); } public void createGender() { person.setGender("帅哥"); } public void createCloth() { person.setCloth("西装革履"); } } 指挥者类: public class GamePlayer { private PersonCreate pc; public void choseType(PersonCreate pc){ this.pc=pc; } public GamePerson create(){ pc.createCloth(); pc.createFace(); pc.createGender(); return pc.getPerson(); } } 测试类: public class Test { public static void main(String[] args) { PersonCreate pc=new PersonType1();

《机械设计基础》期末考试试卷

北京机械工业学院机械设计考题与答案 一、是非题(有5小题,每题1分,共5分。正确在括号内写“T”,错误在括号内写“F”) 1.双螺母防松结构中,如两螺母厚度不同,应先安装薄螺母,后安装厚螺母。(T ) 2.滚动轴承的轴向系数Y值越大,其承受轴向能力越大。( F ) 3.减速器的齿轮和滚动轴承可以采用不同的润滑剂。(T ) 4.设计蜗杆传动时,为了提高传动效率,可以增加蜗杆的头数。( T ) 5.失效就是零件断裂了。(F ) 二、选择题(有5小题,每题2分,共10分。在每小题的选项中,只有一项是符合题目要求的,把所选项的字母填在题中的横线上) 6.温度对润滑油粘度的影响是随着温度的升高润滑油的粘度 C 。 A)提高 B)不变 C)降低 7.设计时键的截面尺寸通常是根据 D 从标准中选取。 A)键传递的转矩 B)轴的转速 C)轮毂的长度 D)轴的直径 8.下列四种叙述中 D 是正确的。 A)变应力只能由变载荷产生 B)静载荷不能产生变应力 C)变应力是由静载荷产生 D)变应力是由变载荷产生,也可能由静载荷产生 9.从经济观点考虑,单件生产的齿轮减速箱的箱体最好采用 C 。 A)灰铸铁铸造 B)铸钢铸造 C)钢板焊接 10.由下列不同材料制造的零件,其形状、尺寸、结构、表面加工情况和工作条件等完全相同,其中有效应力集中系数最大的是 B 。 A)HT200灰铸铁 B)40CrNi钢 C)45钢 三、填空题(有5小题,20个空,每空1分,共20分。把答案填在题中横线上) 11.对下列各种零件至少举出一种常用材料的牌号,齿轮 45, 40Cr ,滑动轴承轴瓦 ZQSn10-1,ZQAl9-4 ,蜗轮轮缘 ZQSn10-1, ZQAl9-4 ,螺钉 Q235,20 ,弹簧 65Mn,碳素弹簧钢丝,弹簧垫圈 65Mn ,滚动轴承套圈 GCr15 ,滚动轴承保持架 08F ,键 45 。 12.带传动的失效形式为打滑和疲劳破坏。因此,其主要设计依据为在保证带传动不打滑的条件下,具有一定的疲劳强度和寿命。 13.轴按承载分为心轴,转轴和传动轴。 14.螺纹联接按防松原理可分为摩擦防松,机械防松和其它防松。 15.灰铸铁齿轮常用于开式传动中,这种齿轮的主要失效形式是磨损。 四、问答题(有5小题,每题4分,共20分) 16.什么是等强度设计?在设计中如何应用? 答:一个机器的各零件或一个零件对于各种失效方式具有同样的承载能力。 在设计中的应用有二:一是使各部分等强度,避免某些部分强度过大,浪费材料;二是故意设置薄弱环节,过载时失效,使其它部分在过载时不致于损坏而得到保护。 17.什么是机械零件的失效? 答:机械零件由于某种原因不能正常工作,叫失效。 18.滑动轴承计算中,计算p,pv,v各考虑什么问题? 答:p——轴承磨损; pv——发热; v——局部磨损。 机械设计试卷 一、单项选择题 1、普通平键的截面尺寸是根据按标准选择的。【 C 】 A.传递转矩的大小 B. 轮毂的长度 C. 轴的直径 2、V带传动设计中,限制小带轮的最小直径主要是为了。【 A 】 A.限制弯曲应力 B. 使结构紧凑 C.限制带轮包角 3、为了制造、测量方便,取三角带的作为它的公称长度。【 B 】 A.内周长 B. 节线长 C. 外周长 4、角接触球轴承和圆锥磙子轴承的轴向承载能力随接触角的增大而。 【 A 】 A.增大 B. 减少 C. 不便 5、链传动中,链条的节数最好为,而链轮齿数为。【 B 】 A.奇数,偶数 B.偶数,奇数 C. 5的倍数,偶数 6、按纯扭矩设计计算的轴径,一般作为轴的直径。【 A 】 A.最细端 B. 最大 C. 平均

最新面向对象的分析与设计期末考试试卷(F卷)

面向对象的分析与设计期末考试试卷(F卷)一、选择题(30分) 说明:每题2分,只有1个正确答案,请将正确答案填写在下面表格中。 1. 一个设计得好的面向对象系统具有()特征。 A 低内聚、低耦合 B 高内聚、低耦合 C 高内聚、高耦合 D 低内聚、高耦合2.构成对象的两个主要因素是()。 A 属性和服务 B 标识和内容 C 继承和多态 D 消息和封装 3. 下面描述中()不是使用软件模型的目的。 A 可以更好地理解问题 B 可以更早地发现错误或疏漏的地方 C 可以为最后代码的生成提供依据 D 在开发过程中使用面向对象方法 4. 下列事物中一般不是目标系统的外部参与者的是()。 A 人 B 外部设备 C 外部系统 D 数据存储 5. 下面()可以描述一个用例中多个对象之间的相互协作关系以及协作过程的行为次序。 A 交互图 B 状态图 C 对象图 D 用例图 6. 统一过程(或称RUP)所提出的迭代开发过程是()。 A 一种结构化开发方法,该方法给出了功能分解有具体步骤 B 一种管理软件开发的过程复杂性和对变更进行规划的技术 C 一种自顶向下的开发过程,且开发过程没有使用数据流图 D 是RUP中最重要的特点 7. 下列描述中正确的是()。 A 消息可以由被动对象发送到主动对象 B 状态图中,动作可以被中断而活动不能被中断 C 构件图中,一个构件和一个接口之间只能存在实现关系 D 状态图不适合于描述跨多个用例的单个对象的行为,而适合描述多个对象之间的行为协作 8. 根据下面的代码,可以确定类A与类B之间存在()关系。 public class A { private B theB; public void aMethod(){ theB.doSomthing(); } } A 关联 B 泛化 C 实现 D 包含 9. 面向对象的特点主要概括为()。 A 可分解性、可组合性、可分类性 B 继承性、封装性、多态性 C 抽象性、继承性、封装性、多态性 D 封装性、易维护性、可扩展性、可重用性

设计模式总复习题

总复习题 复习参考资料: 1.GoF 设计模式 2.设计模式解析 3.易学设计模式 4.大话设计模式 5.深入浅出设计模式 以参考资料为主,模拟试题1-5中有些题答案在一些附加资料中 模拟试题1 一、选择题(分值20) 1. 设计模式一般用来解决什么样的问题( ) A.同一问题的不同表相 B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 2. 下列属于面向对象基本原则的是( ) A.继承 B.封装 C.里氏代换 D都不是 3. Open-Close原则的含义是一个软件实体( ) A.应当对扩展开放,对修改关闭. B.应当对修改开放,对扩展关闭 C.应当对继承开放,对修改关闭 D.以上都不对 4. 当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。 A.创建型 B.结构型 C行为型 D.以上都可以 5. 要依赖于抽象,不要依赖于具体。即针对接口编程,不要针对实现编程,是( )的表述 A. 开-闭原则 B. 接口隔离原则 C. 里氏代换原则 D. 依赖倒转原则 6. 依据设计模式思想,程序开发中应优先使用的是( )关系实现复用。 A, 委派 B.继承 C创建 D.以上都不对 7. 设计模式的两大主题是( ) A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 8. 单体模式中,两个基本要点( )和单体类自己提供单例 A .构造函数私有 B.唯一实例 C.静态工厂方法 D.以上都不对 9. 下列模式中,属于行为模式的是( ) A.工厂模式 B观察者 C适配器以上都是 10. “不要和陌生人说话”是( )原则的通俗表述

软件设计模式试题集58887

第5章设计模式 一.选择 1. 设计模式具有的优点()。 A.适应需求变化 B.程序易于理解 C.减少开发过程中的代码开发工作量 D.简化软件系统的设计 2. 设计模式一般用来解决什么样的问题( )。 A.同一问题的不同表相B不同问题的同一表相 C.不同问题的不同表相 D.以上都不是 3. 设计模式的两大主题是( )。 A.系统的维护与开发 B 对象组合与类的继承 C.系统架构与系统开发 D.系统复用与系统扩展 4. 以下哪些问题通过应用设计模式不能够解决。() A)指定对象的接口B)针对接口编程 C)确定软件的功能都正确实现D)设计应支持变化 解答: 1. A 2. A 3. D 4. C 二.填空 1. 模式的基本要素包括名称、意图、问题、解决方案、参与者和协作者、()、实现、G oF参考。 2. 设计模式基本原则包括:开闭原则,(),包容变化原则。 3. 设计模式是一个( )的方案,它可以解决一类问题。 4. 1. 在设计模式群体中,效果是指()。 解答: 1. 效果 2. 从场景进行设计的原则

3. 抽象 4. 原因和结果 三.判断 1. 适配器模式属于创建型模式。 2. 在设计模式中,“效果”只是指“原因和结果”。 3. 设计模式使代码编制不能真正工程化。 4. 设计模式的两大主题是系统复用与系统扩展。 解答: 1. 错 2. 对 3. 错 4. 对 四.名词解释 1. 设计模式 2. 模板 3. 模式 4. 内聚度 解答: 1. 是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性 2. 模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。 3. 就是解决某一类问题的方法论。把解决某类问题的方法总结归纳到理论高度,那就是模式。 4. 五.简答题 1. 什么是设计模式?设计模式的目标是什么?

《机械设计基础》期末考试题汇总(最新整理)

2、极位夹角是曲柄摇杆机构中夹角。(×)改:曲柄 5、凸轮轮廓的形状取决于从动件的运动规律。(×)改:决定 7、楔键的两侧面是工作面。(×)改:上下两表面 8、普通车床变速箱内齿轮的润滑方式时油雾润滑。(×) 9、滚动轴承的基本额定动载荷C 值越大,则轴承的承载能力越高。(√) 三、选择题(每题2 分,共20 分) 2、为了使相啮合的一对齿轮其强度和寿命接近,通常( B )。 A、齿轮的硬度大于小齿轮的硬度 B、小齿轮的硬度大于大齿轮的硬度 C、大、小齿轮的硬度相同 3、下列哪一种普通平键用于轴端。( C )。P159 A、A 型 B、B 型 C、C 型 4、渐开线在基圆上的压力角为多大?(A ) A、0° B、20° C、90° 5、下列螺纹用于传动的是( A )。 A、梯形螺纹 B、管螺纹 C、普通螺纹 7、在螺栓联接中,当有一个被联接件较厚,而且需要经常拆卸时,宜选用的联接类型是( A )联接。 A、双头螺柱 B、紧定螺栓 C、普通螺栓 8、用来传递双向转矩的一对切向键,在轴上相隔多少度为宜? (C ) A、90°~120° B、135°~150° C、120°~130° 试题一 2.曲柄摇杆机构中,摇杆为主动件时,曲柄与连杆共线时为死点位置。

(A)不存在(B)曲柄与连杆共线时为(C)摇杆与连杆共线时为 3.为保证四杆机构良好的机械性能,传动角不应小于最小许用值。 (A)压力角(B)传动角(C)极位夹角 4.凸轮轮廓曲线决定了从动杆的运动规律。 (A)凸轮转速(B)凸轮轮廓曲线(C)凸轮形状 5.凸轮机构中,凸轮基圆半径愈大,压力角愈_小,机构传动性能愈好。 6.紧键联接与松键连联接的主要区别在于:前者安装后,键与键槽之间就存在有摩擦力。(A) 压紧力(B) 轴向力(C) 摩擦力 7.链“B18X80”的含义是 B 型键宽度b=18mm,长度L=80mm 。 8.螺纹联接是指利用螺纹零件把需要固定在一起的零件固连起来。 螺旋传动是指利用螺纹零件实现回转运动转换成直线运动。 9.螺纹的公称直径是指它的外径,螺纹“M12X1.5”的含义为_细牙螺纹外径12mm,螺距1.5 。 10.采用螺纹联接时,若被联接件总厚度较大,切材料较软,在需要经常装卸的情况下,宜采用双头螺栓联接_。用于薄壁零件联接的螺纹,宜采用三角形细牙螺纹。 (A)螺栓联接(B) 双头螺栓联接(C) 螺钉联接(D) 三角形细牙螺纹 (E) 三角形粗牙螺纹(F) 矩形螺纹 11.某调整螺纹,采用双头粗牙螺纹,螺距为3mm,为使螺母相对螺杆沿轴向移动12mm,则螺杆应转 2 圈。 12.国标规定,三角带有_ Y Z A B C D E 七种类型,代号‘B2240’表示_B 型基准长度2240mm 。

吉林大学2014级软件设计模式期末试题(A卷)-软件

2016-2017学年第1学期 2014级《软件设计模式》考试试题A(开卷) 考试时间:2016年11月班级学号姓名 ?本试卷满分100分; ?请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰; ?试题中使用C++语言作为描述语言,答题时可以使用C++或Java或C#程序设计语言中 的任意一种作为描述语言,但整个卷面只能使用其中一种,不得混合使用; ?请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸 一并交上来。 一、单选题(共20分,每题2分) 1.下列选项中属于设计模式主要优点的是: (A)程序易于理解(B)减少程序最终代码量 (C)适应需求变化(D)简化软件系统的设计 2.Open-Close原则的含义是一个软件实体: (A)应当对扩展开放,对修改关闭(B)应当对修改开放,对扩展关闭 (C)应当对继承开放,对修改关闭(D)以上都不对 3.下列选项中属于面向对象设计原则的是: (A)抽象(B)封装(C)里氏替换(D)多态性4.设计模式的关键要素不包括: (A)名称(B)问题(C)解决方案(D)实现 5.下列选项中不属于创建型模式的是: (A)抽象工厂模式(B)外观模式(C)工厂方法模式(D)单件(单例)模式6.用于分离接口和具体实现,使得接口和实现可独立变化的是: (A)适配器模式(B)桥接模式(C)命令模式(D)模板方法模式7.体现“集中管理多个对象间的交互过程和顺序”的是: (A)状态模式(B)门面模式(C)策略模式(D)中介者模式8.限制类的实例对象只能有一个的是: (A)观察者模式(B)工厂方法模式(C)单件(单例)模式(D)生成器模式9.描述对象所能接受的全部请求的集合的是: (A)型构(B)接口(C)类型(D)超类型10.用于为一个对象添加更多功能而不使用子类的是: (A)桥接模式(B)适配器模式(C)代理模式(D)装饰器模式

机械设计期末考试试题及答案

机械设计期末考试试题及答案 一、选择题(共20分,每小题2分) 1、 通常,一个零件的磨损过程大致可分为三个阶段,按先后顺序,它们依次是 () A.剧烈磨损、磨合、稳定磨损 B.稳定磨损,剧烈磨损、磨合 C.磨合、剧烈磨损、稳定磨损 D.磨合、稳定磨损、剧烈磨损 2、 设计斜齿圆柱齿轮传动时,螺旋角B —般在8°?20°范围内选取,B 太小斜齿 轮 传动的优点不明显,太大则会引起()。 A.大的切向力 B.大的轴向力 C.小的切向力 D.小的轴向力 3、 若一滚动轴承的寿命为 1370000转,则该轴承所承受的当量动载荷() 基本额定动载荷。 A. 等于 B. 小于 C.大于 D. 无法判断 4、 在不完全液体润滑滑动轴承设计中, 除了限制轴承p 值外,还要对轴承pv 值 进行验算,其主要目的是()。 A. 限制轴承过渡磨损 B.限制轴承的温升 C.保证轴承的强度 D.限制 轴承的质量 5、 通常,一部机器主要是由()三部分构成的。 A.原动部分,传动部分,执行部分 B.原动部分,传动部分,控制部分 C.辅助系统,传动部分,控制部分 D.原动部分,控制部分,执行部分 6、 一般参数的闭式硬齿面齿轮传动的主要失效形式是 ()。 A.齿面点蚀 B.轮齿折断 C.齿面磨粒磨损 D.齿面胶合 7、 在V 带传动中,小轮包角一般应大于()度。 &一齿轮传动,主动轮1用45号钢调质,从动轮2用45号钢正火,贝尼们的 齿面接触应力()。 9、蜗杆蜗轮传动的传动比,正确表达式是() 10、设计一对材料相同的软齿面齿轮传动时,一般应使大齿轮的齿面硬度 HB3() 小齿轮的齿面硬度HBS 。 A.大于 B. 小于 C. 等于 D. 大于或等于 二、填空题(共10分) 1、 在轴的结构设计中,轴的最小直径 d min 是按 ________ 初步确定的。(1分) 2、 受轴向载荷的紧螺栓所受的总拉力是 ______ 与 _____________ 之和。(1分) 3、 在斜齿圆柱齿轮的设计计算中,考虑到实际承载区的转移,斜齿轮传动的许 用接触应力可取为[H ]1与[H ]2 ___________________ 。(1分) A. 90 B. 100 C. 150 D. 120 A. B. C. D. 无法判断 A. d 1 B. i 亞C. i Z 1 D. d 2

C#设计模式期末卷

━ ━ ━ ━ ━ ━ ━ ━ ━ 装 ━ ━ ━ ━ ━ ━ ━ 订 ━ ━ ━ ━ ━ ━ ━ 线 ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ ━ 防灾科技学院 2013 ~ 2014 学年 第一学期期末考试 UML 与设计模式 试卷 (A) 答案及评分细则 使用班级1050421/422/423/424、1050411/412 答题时间:120分钟 注意事项: 1、 考试形式闭卷 一、单选题(本大题共5小题,每题 2分,共 10 分,请将答案填写在该题后指定位置) 1、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( )模式。 A 创建型 B 结构型 C 行为型 D 以上都可以 2、下面( )图元哪个一个表示关联关系。 A B C D 3、下列模式中,属于行为模式的是( ) A.工厂模式 B 观察者模式 C 桥接器模式 D 以上都是 4、( )将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化。 A 代理模式 B 适配器模式 C 原型模式 D 命令模式 5、C++中将一个对象赋值给另外一个创建的对象,如下面的代码(注A 代表一个类): A a; A b=a; 一定会使用到A 类中什么函数是 ( )。 A. 析构函数 B 拷贝构造函数 C. 赋值函数 D. 友元函数 答案填写处: 1 A ; 2 B ; 3 B ; 4 D ; 5 B 。 二、填空题(本大题10个空,每空2分,共20分,请将答案填写在该题后指定位置) 1、所谓开闭原则具体是指 设计对扩展开放 、____对修改关闭_________。 2的问题。 3、工厂模式分为 简单工厂 、 工厂方法 、 抽象工厂 三种类型。 4、程序设计中追求的两个最基本的原则是 高内聚 、______低耦合_______。 5、C# 编程使用 namespace 关键字表示命名空间,C++中通过 extern 关键字使用其他文件中定义的全局变量。 答案填写处: 1 设计对扩展开放、 _对修改关闭 ; 3 简单工厂、工厂方法、抽象工厂 ;4 高内聚、低耦合 ;5 namespace 、extern

JAVA设计模式期末考试复习资料

《JAVA设计模式》复习资料 一、单项选择题 1.设计模式起源于() A、机械设计 B、建筑工程设计 D、工业电力化设计C、水利工程设计 2.“不要和陌生人说话”是()原则的通俗表述。 B、里氏替换、接口隔离 C、依赖倒置 D、迪米特A3.目前常见的设计模式主要有()种。、28、B23 A、、21 C32 D4.以下关于单一职责原则的叙述不正确的是()。 A、单一职责原则的英文名称是Single Responsibility Principle. B、单一职责原则要求一个类只有一个职责 C、单一职责原则有利于对象的稳定,降低类的复杂性 D、单一职责原则提高了类之间的耦合性 5.以下关于依赖倒置原则的叙述不正确的是() A、依赖倒置原则的简称是DIP B、高层模块不依赖于低层模块,低层模块依赖于高层模块 C、依赖倒置原则中高层模块和低层模块都依赖于抽象 D、依赖倒置原则实现模块间的松耦合 6.下面关于单例模式说法错误的是() A、单例模式是指一个类只有一个实例 B、单例类从实现方式上分为懒汉式和饿汉式 C、单例类从功能上分为状态单例类和无状态单例类 D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类 7.下面关于工厂方法模式说法错误的是()。 A、工厂方法模式使一个类是实例化延迟到其子类中 B、工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色 C、工厂方法模式可以处理多个产品的多个等级结构 D、工厂方法模式可以屏蔽产品类 8.在以下情况不适合使用责任职责链模式() A、有多个对象可以处理请求,哪个对象处理该请求在运行时刻自动确定。 B、在需要用比较通用和复杂的对象指针代替简单的指针的时候。 C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。 D、一个请求需要一系列的处理工作。 9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式 A、结构型 B、创建型 C、行为型 D、以上都可以 10.以下用来描述适配器模式的是() A、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 、定义一个用于创建对象的接口,让子类决定实例化哪一个类。B. C、将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 D、动态地给一个对象增加一些额外的职责。

相关文档