试卷详情

2021年软件设计师模拟题3

开始做题

试卷预览

单选题

设计模式描述了一个出现在特定设计语境中的设计再现问题,并为它的解决方案提供了一个经过充分验证的通用方案,不同的设计模式关注解决不同的问题。例如,抽象工厂模式提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类,它是一种( )模式;(请作答此空)模式将类的抽象部分和它的实现部分分离出来,使它们可以独立变化,它属于( )模式;( )模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。

查看答案开始考试

正确答案:A

本题解析:

设计模式包括:创建型、结构型、行为型三大类别。抽象工厂模式属于创建型设计模式。桥接模式属于结构型设计模式。

单选题

设计模式描述了一个出现在特定设计语境中的设计再现问题,并为它的解决方案提供了一个经过充分验证的通用方案,不同的设计模式关注解决不同的问题。例如,抽象工厂模式提供一个接口,可以创建一系列相关或相互依赖的对象,而无需指定它们具体的类,它是一种( )模式;( )模式将类的抽象部分和它的实现部分分离出来,使它们可以独立变化,它属于( )模式;(请作答此空)模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。

查看答案开始考试

正确答案:A

本题解析:

设计模式包括:创建型、结构型、行为型三大类别。抽象工厂模式属于创建型设计模式。桥接模式属于结构型设计模式。

单选题

面向对象设计有7个主要原则,( )强调子类可以替换父类。

查看答案开始考试

正确答案:B

本题解析:

里式替换原则:子类可以替换父类迪米特原则:一个对象应当对其他对象有尽可能少的了解。依赖倒置原则:要依赖于抽象,不是具体实践。对接口进行编程,不要对实现编程。

单选题

用于限制对象访问的设计模式是( )

查看答案开始考试

正确答案:D

本题解析:

本题考查常见设计模式的功能,备选答案中除Delegation,其它均为经典设计模式。

适配器(adapter)模式。适配器模式将一个接口转换成客户希望的另一个接口,从而使接口不兼容的那些类可以一起工作。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。在类适配器模式中,通过使用一个具体类将适配者适配到目标接口中;在对象适配器模式中,一个适配器可以将多个不同的适配者适配到同一个目标。

装饰(decorator)模式。装饰模式是一种对象结构型模式,可动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。通过装饰模式,可以在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;当需要动态地给一个对象增加功能,这些功能可以再动态地被撤销时可使用装饰模式;当不能采用生成子类的方法进行扩充时也可使用装饰模式。

代理(proxy)模式。代理模式是一种对象结构型模式,可为某个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式能够协调调用者和被调用者,能够在一定程度上降低系统的耦合度,其缺点是请求的处理速度会变慢,并且实现代理模式需要额外的工作。

单选题

( )是一种很强的"拥有"关系,"部分"和"整体"的生命周期通常一样。整体对象完全支配其组成部分,包括它们的创建和销毁等;( )同样表示"拥有"关系,但有时候"部分"对象可以在不同的"整体"对象之间共享,并且"部分"对象的生命周期也可以与"整体"对象不同,甚至"部分"对象可以脱离"整体"对象而单独存在。上述两种关系都是(请作答此空)关系的特殊种类。

查看答案开始考试

正确答案:D

本题解析:

本题主要考查我们对类之间一些常用关系的理解。本题我们主要要清楚组合与聚合的联系和区别。组合与聚合都体现着"部分"和"整体"的关系,但组合是一种很强的"拥有"关系,"部分"和"整体"的生命周期通常一样。整体对象完全支配其组成部分,包括它们的创建和销毁等;而聚合有时候"部分"对象可以在不同的"整体"对象之间共享,并且"部分"对象的生命周期也可以与"整体"对象不同,甚至"部分"对象可以脱离"整体"对象而单独存在。

组合与聚合都是关联关系的特殊种类。

单选题

中级软件设计师,模拟考试,2021年软件设计师模拟题3

查看答案开始考试

正确答案:B

本题解析:

桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。

策略模式定义一系列的算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化。

抽象工厂提供了一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。

观察者模式定义对象间的一种一对多依赖关系,使得每当一个对象改变状态,则其相关依赖对象皆得到通知并被自动更新。

从本题给出的图我们可以判断是观察者模式,其中被观察对象(Subject),具体被观察对象(ConcreteSubject),观察者(Observer)及具体观察者(ConcreteObserver)。在本设计模式中,Observer需要维护至少一个Subject对象,一个Subject对象需要维护多个Observer对象,另外Subject需要通知Observer对象其自身的状态变化。

单选题

耦合表示模块之间联系的程度。横块的耦合类型通常可分为7种。其中,一组模块通过参数传递信息属于(请作答此空)。一个模块可直接访问另一个模块的内部数据属于( )。

查看答案开始考试

正确答案:B

本题解析:

耦合表示模块之间联系的程度。紧密耦合表示模块之间联系非常强,松散耦合表示模块之间联系比较弱,非耦合则表示模块之间无任何联系,是完全独立的。模块的耦合类型通常分为7种,根据耦合度从低到高排序如下表所示

中级软件设计师,模拟考试,2021年软件设计师模拟题3

单选题

绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定在编译时进行,叫做静态绑定;而( )则在运行时进行,即一个给定的过程调用和执行代码的结合直到调用发生时才进行。

查看答案开始考试

正确答案:C

本题解析:

本题考查面向对象中的基本概念。

在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态(polymorphism)。在使用多态的时候,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。这样,同一消息就可以调用不同的方法。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,叫做静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。

动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是父类的一个特例,所以,父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。

单选题

如下所示的UML图中,(I)是( ),(Ⅱ)是(请作答此空),(Ⅲ)是( )。

中级软件设计师,模拟考试,2021年软件设计师模拟题3

查看答案开始考试

正确答案:C

本题解析:

本题考查统一建模语言(UML)的基本知识。

用例图(use case diagram)展现了一组用例、参与者(Actor)以及它们之间的关系。用例图通常包括用例、参与者,以及用例之间的扩展关系(<<extend>>)和包含关系(<<include>>),参与者和用例之间的关联关系,用例与用例以及参与者与参与者之间的泛化关系。如下图所示。

中级软件设计师,模拟考试,2021年软件设计师模拟题3

用例图用于对系统的静态用例视图进行建模,主要支持系统的行为,即该系统在它的周边环境的语境中所提供的外部可见服务。

单选题

面向对象分析中,对象是类的实例。对象的构成成分包含了( ),属性和方法(或操作)。

查看答案开始考试

正确答案:A

本题解析:

对象是类的实例,一个对象通常可由对象名(标识)、属性和操作(方法)三部分组成。

其他考生还关注了更多 +