十一 面向对象技术(考点篇)试题

news2024/12/24 3:12:38

A ;D,D。实际答案:C;D,D

考的很偏了。UML 2.0基础结构的设计目标是定义一个元语言的核心 UML 2.0 【InfrastructureLibrary】,通过对此核心的复用,除了可以定义一个自展的UML元模型,也可以 InfrastructureLibrary UML 定义其他元模型,包括 MOF和CWM(Common Warehouse Model,公共仓库模型)。由于共用核心库, MOF CWM(Common Warehouse Model ) 所以UML和MOF、CWM在体系结构上更加一致。同时,InfrastructureLibrary 还提供了定制 UML更 UML MOF CWM InfrastructureLibrary UML强有力的机制,允许用户定义针对不同平台(如.NET、J2EE 等)和领域(如电信、金融、系统工程)的语言。

顺序图,又称为序列图,其中的交互用序列片段表示,这里如果知道其另一个名字就好理解。序列图中的消息包括同步、异步、返回,这是文老师讲过的三种,根据这个基本就能锁定 AD, 但是D也比较糊弄人,因为来了个参与者,可能有的学员想参与者是用例图的没选。

D,PAD图是是一种用于描述程序逻辑和结构的图形化工具

A,B。实际答案A,D。

分析软件模式主要可分为设计模式、分析模式、组织和过程模式等,每一类又可细分为若干 个子类。在此着重介绍设计模式,目前它的使用最为广泛。
设计模式主要用于得到简洁灵活 的系统设计,GoF的书中共有23个设计模式,这些模式可以按两个准则来分类:一是按设 GoF 23计模式的目的划分,可分为创建型、结构型和行为型三种模式;二是按设计模式的范围划分,即根 ,据设计模式是作用于类还是作用于对象来划分,可以把设计模式分为类设计模式对象设计模式

B,C,A。蒙对了

创建性模式支持对象的创建。该模式允许在系统中创建对象,而不需要在代码中标识特定类的类型,这样用户就不需要编写大量、复杂的代码来初始化对象。它是通过该类的子类来创建对象的。
在不指定具体类的情况下,Abstract Factory模式为创建一系列相关或相互依赖的对象提供了一个接口。根据给定的相关抽象类,Abstract Factory模式提供了从一个相匹配的具体子类集创建这些抽象类的实例的方法。Abstract Factory模式提供了一个可以确定合适的具体类 的抽象类,这个抽象类可以用来创建实现标准接口的具体产品的集合。客户端只与产品接口和 Abstract Factory 类进行交互。使用这种模式,客户端不用知道具体的构造类。Abstract Factory模式类似于Factory Method模式,但是Abstract Factory模式可以创建一系列的相 关对象
  
Builder模式复杂对象的构建与其表示相分离,这样相同的构造过程可以创建不同的对象。
通过只指定对象的类型和内容,Builder模式允许客户端对象构建一个复杂对象。客户端可以不受该对象构造的细节的影响。这样通过定义一个能够构建其他类实例的类,就可以简化复杂对象的创建过程。Builder模式生产一个主要产品,而该产品中可能有多个类,但是通常只有一个主类。
  
Prototype模式(原型模式)允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象。使用Prototype实例,便指定了要创建的对象类型,而通过复制这个Prototype,就可以创建新的对象。Prototype模式是通过先给出一个对象的Prototype对象,然后再初始化对象的创建。创建初始化后的对象再通过Prototype 对象对其自身进行复制来创建其他对象。Prototype模式使得动态创建对象更加简单,只要将对象类定义成能够复制自身就可以实现。

看这样子有类名,属性和方法;时序图/顺序图应该有消息:同步、异步、返回,所以B排除;C构件图/组件图应该没这么详细,而且应该带着半圆的供接口,和圆形的需接口,C排除,对象图是类图的快照,而且看图里有1:n之类的可能是类图D,既然是类图,一般是用于开发,选B

A,D,C,B

在任何设计活动中都存在着某些重复遇到的典型问题,不同开发人员对这些问题设计出不同的解决方案,随着设计经验在实践者之间日益广泛地被利用,描述这些共同问题和解决这些问题的方案就形成了所谓的模式。
设计模式主要用于得到简洁灵活的系统设计,按设计模式的目的划分,可分为创建型、结构型和行为型三种模式。
创建型模式是对对象实例化过程的抽象
例如 Singleton模式确保一个类只有一个实例,并提供了全局访问入口Prototype模式允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象Builder模式将复杂对象的构建与其表分离
  
结构型模式 主要 用于如何组合已有的类和对象以获得更大的结构 一般借鉴封装、代理、继承等概念将一个或多个类或对象进行组合、封装,以提供统一的外部视图或新的功能
 
行为型模式主要用于对象之间的职责及其提供的服务的分配,它不仅描述对象或类的模式描述它们之间的通信模式,特别是描述一组对等的对象怎样相互协作以完成其中任一对象都无法单独完成的任务。

C。实际选A

4+1 视图即:逻辑视图、开发视图、物理视图(部署视图)、进程视图、场景。
架构的4+1视图跟UML4+1视图不同。
UML4+1视图

D,C,D,D。实际答案,D,A,B,A。

按照内容分

创建型Abstrator Factory、Builder(构建器)、Factory Method(工厂方法)、Prototype(原型)、Singleton(单例)

结构型Adapter(适配器)、Bridge(桥接)、Composite(组合)、Decorator(装饰)、Facade(外观)、Flyweight(享元)、Proxy(代理)

行为型Chain of Responsibility(职责链)、Command(命令)、Interpreter(解释器模式)、Iterator(迭代器模式)、Mediartor(中介者)、Memento(备忘录)、Observer(观察者)、State(状态)、Strategy(策略)、Template Method(模板方法)、Visitor(访问者)

常靠的记忆要点:

创建型:

  • Abstrator Factory:提供一个接口,用它可创建一系列相互依赖的对象,无需指定具体的类。
  • Builder:类和构造分离。类比较复杂的时候,将表示和构造分开,构件过程有不同的表示。
  • Prototype:原型实例,拷贝。用原型实例指定创建对象的类型,然后拷贝这个原型来建新对象。
  • Singleton:单例

结构型:

  • Adapter:转换、兼容、适配
  • Bridge:把抽象部分和实现部分分离,各自独立变化。
  • Composite:将对象组合成树形结构以表示"整体-部分"的层次结构,这样用户对单个对象和组合对象使用具有一致性。
  • Decorator:动态给对象附加职责,扩展更灵活。
  • Facade:对外统一接口。定义个高层接口,为一组接口提供一致的外观。
  • Flyweight:大量细粒度共享
  • Proxy:代理控制

行为型:

  • chain of Responsibility:传递请求、职责、链接。将对象链接起来,请求在链中传递,直到找到处理的对象。
  • Command:日志记录、可撤销操作。
  • Interpreter:解释器,虚拟机。
  • Iterator:顺序访问,不爆露内部。
  • Mediator:不直接引用。
  • Memento:保存,回复。
  • Observer:通知,自动更新。
  • State:状态变成类。
  • Strategy:算法替换
  • Visitor:数据和操作分离
  • Template Method:定义了算法骨架,详细步骤子类,达到不改变算法结构重定义算法步骤。

C,C,B。实际答案:B,C,D

面向对象有分析模型、数据模型、用例模型;而分析模型中顶层架构图是结构、用例是数据。

面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成

D ,C,A,D。蒙对了。

设计模式包括:创建型、结构型、行为型三大类别。 Singleton是单例模式,属于创建型设计模式。Adapter是适配器模式,属于结构型设计模式。Visitor 是访问者模式,属于行为型设计模式。

C,C,D。实际B,C,D

面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。

C,D,D,B。实际答案:C,D,C,D。还是要熟悉23中模式的名字和主要是干啥的

A。会员注册,必须要先干电话注册或者是邮件注册。实际选C。

泛化关系是从另一个角度来看的继承关系,也就是说,当两个用例之间可能存在父子关系时,可判 定为泛化关系。在本题中,“电话注册”与“邮件注册”都属于“会员注册”,他们是“会员注 册”的具体形式,所以存在父子关系,可判定为泛化关系。

A,B

D ,C

  • 单一职责原则:设计目的单一的类。
  • 开放-封闭原则:对扩展开放,对修改封闭。李氏(Liskov)替换原则:子类可以替换父类。
  • 依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。
  • 接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
  • 组合重用原则:要尽量使用组合,而不是继承关系达到重用目的。
  • 迪米特(Demeter)原则(最少知识法则):一个对象应当对其他对象有尽可能少的了解
  • 解释器(interpreter)模式。解释器模式属于类的行为型模式,描述了如何为语言定义 interpreter一个文法,如何在该语言中表示一个句子,以及如何解释这些句子,这里的“语言”是使用规定格式和语法的 代码。解释器模式主要用在编译器中,在应用系统开发中很少用到。
  • 策略(strategy) strategy模式。策略模式是一种对象的行为型模式,定义一系列算法,并将每一个算法封 装起来,并让它们可以相互替换。策略模式让算法独立于使用它的客户而变化,其目的是将行为和 环境分隔,当出现新的行为时,只需要实现新的策略类。
  • 中介者(mediator)模式。中介者模式是一种对象的行为型 mediator模式,通过一个中介对象来封装一系列 的对象交互。中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者对象的存在保证了对象结构上的稳定,也就是说,系统的结构不会因为新 对象的引入带来大量的修改工作。
  • 迭代器(iterator)模式。迭代器模式是一种对象的行为型模式,提供了一种方法来访问聚合对象,而不用暴露这个对象的内部表示。迭代器模式支持以不同的方式遍历一个聚合对象,复杂的聚合可 用多种方法来进行遍历;允许在同一个聚合上可以有多个遍历,每个迭代器保持它自己的遍历状 态,因此,可以同时进行多个遍历操作。

C ,B。桥接的抽象和实现分离。

本题考点是设计模式,不同的设计模式可以应用于不同的场景,在本题题干部分提到宣传产品有多 种表现形式,又有多种媒介,如果用一棵类树来表达,必然会带来“类爆炸”的问题,所以使用桥 接模式是合适的。桥接模式的最核心特点便是:将抽象部分与它的实现部分分离,使它们都可以独 立地变化。

D ,B。答案:A,D。

UML对系统架构的定义是系统的组织结构,包括系统分解的组成部分,以及它们的关联 UML性、交互机 制和指导原则等提供系统设计的信息。具体来说,就是指以下5个系统视图:
  • (1)逻辑视图。逻辑视图也称为设计视图,它表示了设计模型中在架构方面具有重要意义的部分, 即类、子系统、包和用例实现的子集。
  • (2)进程视图。进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执行实例,描述了并发与同步结构
  • (3)实现视图。实现视图对组成基于系统的物理代码的文件和构件进行建模。 
  • (4)部署视图。部署视图把构件部署到一组物理节点上,表示软件到硬件的映射和分布结构。
  • (5)用例视图。用例视图是最基本的需求分析模型

B,A。

针对题目给出的情况,公司的架构师决定采用“包装器外观”架构模式解决操作系统的差异问题。具体来说,服务端程序应该在包装器外观的实例上调用需要的方法,然后将请求和请求的参数发送 给操作系统API函数,调用成功后将结果返回。使用该模式提高了底层代码访问的一致 API性,但降低了 服务端程序的调用性能。

C,B;A,B。答案:C,B;C,A

  • 1.实体类映射需求中的每个实体,实体类保存需要存储在永久存储体中的信息,例如,在线教育平台系统可以提取出学员类和课程类,它们都属于实体类。实体类通常都是永久性的,它们所具有的属 性和关系是长期需要的,有时甚至在系统的整个生存期都需要。实体类是对用户来说最有意义的类,通常采用业务领域术语命名,一般来说是一个名词,在用例模型向领域模型的转化中,一个参与者一般对应于实体类。通常可以从 SRS 中的那些与数据库表(需要 持久存储)对应的名词着 SRS手来找寻实体类。通常情况下,实体类一定有属性,但不一定有操作。
  • 2.控制类 控制类是用于控制用例工作的类,一般是由动宾结构的短语(“动词+名词”或“名词+动词”)转 化来的名词,例如,用例“身份验证”可以对应于一个控制类“身份验证器”,它提供了与身份验证相关的所有操作。控制类用于对一个或几个用例所特有的控制行为进行建模,控制对象(控制类 的实例)通常控制其他对象,因此,它们的行为具有协调性。控制类将用例的特有行为进行封装,控制对象的行为与特定用例的实现密切相关,当系统执行用例 的时候,就产生了一个控制对象,控制对象经常在其对应的用例执行完毕后消亡。通常情况下,控 制类没有属性,但一定有方法。
  • 3.边界类 边界类用于封装在用例内、外流动的信息或数据流。边界类位于系统与外界的交接处,包括所有窗体、报表、打印机和扫描仪等硬件的接口,以及与其他系统的接口。要寻找和定义边界类,可以检查用例模型,每个参与者和用例交互至少要有一个边界类,边界类使参与者能与系统交互。边界类 是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。常见的边界类有窗口、通信协 议、打印机接口、传感器和终端等。实际上,在系统设计时,产生的报表都可以作为边界类来处 理。边界类用于系统接口与系统外部进行交互,边界对象将系统与其外部环境的变更(例如,与其他系 统的接口的变更、用户需求的变更等)分隔开,使这些变更不会对系统的其他部分造成影响。通常 情况下,边界类可以既有属性也有方法。

装饰模式:动态地给一个对象添加一些额外的职责。它提供了用子类扩展功能的一个灵活的替代, 比派生一个子类更加灵活。
在本题中,“现需要构造带有滚动条或者带有黑色边框,或者既有滚动条又有黑色边框的文本显 示控件和图片显示控件”,从此处可以看出需要能为构件灵活附加功能的机制,这与装饰模式的情况是吻合的。这样做比静态继承具有更大的灵活性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2106316.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenGauss 高性能高安全高可靠的企业级开源关系型数据库

openGauss | openGauss openGauss: 一款高性能、高安全、高可靠的企业级开源关系型数据库。 技术背景 openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。 自 2020 年 6 月开源以来,openGauss 一直围绕高性能、高可用、高智能、…

企业展厅设计关键转折点何在?如何确保展厅顺利实施?

随着科技的进步和市场竞争的加剧,各企业越来越注重自身的形象宣传和品牌推广。近期,数字多媒体技术在内容展览中所引起的广泛关注和讨论,让不少企业意识到,建设一个集创新、互动、科技于一体的企业多媒体展厅,是当下吸…

『功能项目』骑乘坐骑【22】

我们打开上一篇21项目优化的项目, 本章要做的事情是在召唤坐骑后的指定距离内点击骑乘即可乘坐坐骑 首先进入坐骑熊的预制体空间,将主角模型拖拽至坐骑身上并删除所有组件及标签 将子物体Player拖拽至其子级,父类删掉 将其Player隐藏 创建坐…

AI在台球助教系统中的应用与优化

随着科技的发展,AI技术在各个领域的应用越来越广泛。特别是在体育培训领域,AI的应用为传统教学方式带来了革命性的变化。对于热爱台球运动的朋友来说,台球助教系统无疑是一个令人兴奋的新工具。它利用先进的AI技术,为台球爱好者提…

vscode任务配置之tasks.json

目录 用途说明 用途1:配置编译任务 1.生成task.json文件 2.编辑task.json文件 3.运行任务 用途2:给一个脚本文件配置任务 1.生成task.json文件 2.编辑task.json文件 3.运行任务 用途说明 在VS Code中配置任务主要涉及到task.json文件的编辑&am…

训练 GAN 之技巧

GAN 是以很难训练而闻名的,我们接下来介绍一些其中的原因和训练GAN的小技巧。 首先,我们回顾一下判别器和生成器都在做些什么。判别器的目标是要分辨真的图片与产生 出来的假图片间的差异,而生成器在做的事情是要去产生假的图片,骗…

RK3588平台开发系列讲解(显示篇)图像的宽高和跨距

文章目录 一、图像宽、高二、图像跨距沉淀、分享、成长,让自己和他人都能有所收获!😄 “图像的基本组成单元为像素,对视频图像的存储,实际上是对像素的存储”。基于图像位深,我们可以确定存储一个像素所需的字节数,下面,可以开始“指导”计算机如何定量读取图像数据了…

图文解析保姆级教程:Postman专业接口测试工具的安装和基本使用

文章目录 1. 引入2. 介绍3. 安装4. 使用 此教程摘选自我的笔记:黑马JavaWeb开发笔记16——请求(postman、简单参数、实体参数、数组集合参数、日期参数、Json参数、路径参数)想要详细了解更多有关请求各种参数介绍的知识可以移步此篇笔记。 1…

存储卡恢复:如何从存储卡恢复已删除的照片/视频?

如何使用免费软件从存储卡恢复已删除的照片/视频? 在我们的指南中,从 Android 手机的微型 SD 卡恢复已删除的文件是免费的。以下是恢复所需的信息。 一台装有 Windows 操作系统的计算机;一个存储卡适配器(必需,因为如…

配置IPv6 over IPv4的手动隧道和自动隧道

正文共:888 字 9 图,预估阅读时间:1 分钟 随着IPv6的不断普及,现在家庭宽带基本上都能获取到IPv6地址了,介于此种场景,我们介绍了比较常见的GRE over IPv6的业务配置(配置GRE over IPv6隧道&…

基于SSM+MySQL的民宿推荐系统

系统背景 随着经济发展,各类电子产品普及千家万户。网民数量不断增加,网络显然已经成为了人际交流的重要形式。回顾近一个世纪的科技发展史,各类新的信息发布手段均随着时代洪流更新。旧时代是广播,报纸,电视&#xff…

读软件设计的要素01概念

1. 概念 1.1. 一个软件,从运行于手机上的最小程序到大型的企业系统,都是由概念组成的,每个概念都是独立的功能单元 1.2. 软件中的可用性问题,经常可以追溯到其底层概念 1.2.1. 概念帮助识别软件的不可用性 1.3. 概念都是以同样…

后端发送数据成功,前端也接收成功,但是显示不出来

提示&#xff1a; shouye.vue:128 [Vue warn]: Property "LiuyanData" was accessed during render but is not defined on instance. at <PopularPets onVnodeUnmountedfn<onVnodeUnmounted> refRef< Proxy(Object) {getdata: ƒ, getLiuyan: ƒ, …} …

武汉凯迪正大—氧化锌避雷器带电测试仪 氧化锌避雷器阻性电流测试仪

产品概述 武汉凯迪正大KDYZ-201氧化锌避雷器测试仪是用于检测氧化锌避雷器电气性能的专用仪器&#xff0c;该仪器适用于各种电压等级的氧化锌避雷器的带电或停电检测&#xff0c;从而及时发现设备内部绝缘受潮及阀片老化等危险缺陷。 仪器操作简单、使用方便&#xff0c;测量…

经济下行,这4家AGV巨头却逆势扩产

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 在全球经济普遍面临下行压力的微妙时刻&#xff0c;当众多企业纷纷收缩战线、谨慎前行时&#xff0c;自动引导车&#xff08;AGV&#xff09;行业却悄然掀起了一股扩产浪潮。 四家行业…

2024国赛数学建模备战-数学建模思想方法大全及方法适用范围

第一篇&#xff1a;方法适用范围 一、统计学方法 1.1 多元回归 1、方法概述&#xff1a; 在研究变量之间的相互影响关系模型时候&#xff0c;用到这类方法&#xff0c;具体地说&#xff1a;其可以定量地描述某一现象和某些因素之间的函数关系&#xff0c;将各变量的已知值带…

C3与C2f模块介绍与代码

C3与C2f模块介绍与代码 微信公众号&#xff1a;幼儿园的学霸 目录 文章目录 C3与C2f模块介绍与代码目录简介CSP/C3模块概述C2f模块概述C3与C2f结构对比参考资料 简介 顺序:CSPNet->C3->C2f C2 module refers to the CSP (Cross Stage Partial) Bottleneck with 2 convol…

【LabVIEW学习篇 - 18】:人机界面交互设计02

文章目录 错误处理函数简单错误处理器通用错误处理器清楚错误合并错误错误代码至错误簇转换查找第一个错误 鼠标指针 错误处理函数 在LabVIEW中&#xff0c;是通过错误输入簇和错误输出簇来传递错误信息&#xff0c;可以将底层错误信息传递到上层VI。设计人员需要对不同程度的…

Air780E低功耗4G模组硬件设计手册01

本文主要介绍了Air780E的硬件设计中的的应用接口部分。 一、主要性能 Air780E模块功能框图&#xff1a; 模块型号列表&#xff1a; 模块主要性能&#xff1a; *注: 模组工作在-40C&#xff5e;-35C或75C&#xff5e;85C温度范围时&#xff0c;模组可以正常工作&#xff0c;但…

基于51单片机的车距离警示灯proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1tBIqTY4cCK38Z_xRKrq83g 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectro…