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

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.mzph.cn/web/52098.shtml

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

相关文章

基于IP子网的VLAN典型配置举例(H3C,其他厂商同理)

基于IP子网的VLAN典型配置举例 1. 组网需求 如下图所示,办公区的主机属于不同的网段192.168.5.0/24和192.168.50.0/24,Device C在收到来自办公区主机的报文时,根据报文的源IP地址,使来自不同网段主机的报文分别在指定的VLAN中传…

7、Django Admin删除默认应用程序

admin文件 from django.contrib.auth.models import User, Groupadmin.site.unregister(User) admin.site.unregister(Group) 显示效果: 前 后

基于FreeRTOS的STM32多功能手表

前言 项目背景 项目演示 使用到的硬件 项目原理图 目前版本实现的功能 设计到的freertos知识 实现思路 代码讲解 初始化GPIO引脚、配置时钟 蜂鸣器初始化以及软件定时器创建 系统默认创建的defaultTaskHandle 创建七个Task,代表七个功能 ShowTimeTask …

2024.9自然语言及语言处理设计开发工程师专项培训通知!

为进一步贯彻落实中共中央印发《关于深化人才发展体制机制改革的意见》和国务院印发《关于“十四五”数字经济发展规划》等有关工作的部署要求,深入实施人才强国战略和创新驱动发展战略,加强全国数字化人才队伍建设,持续推进人工智能从业人员…

Epoll 用法

Epoll 监听 EPOLL_CTL_DEL EPOLL_CTL_ADD epoll_event event event.events event.data.fd

双指针(3)_快慢指针_快乐数问题

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 双指针(3)_快慢指针_快乐数问题 收录于专栏【经典算法练习】 本专栏旨在分享学习C的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1.…

Android Studio gradle下载太慢了!怎么办?(已解决)

Android Studio!你到底干了什么?! 不能高速下载gradle,我等如何进行app编程?! 很简单,我修改gradle地址不就是了。 找到gradle-wrapper.properties文件 修改其中distributionUrl的地址。 将 ht…

ES配合高德地图JS-API实现地理位置查询

目录 实现功能点 技术选型 具体实现 Vue3整合高德地图JS API-2.0 添加商户:前端 添加商户:后端/ES 查询用户当前地理坐标 获取附近(指定距离)的商户 总结/测试Demo代码地址 测试概述:用户使用高德地图组件获取商户…

SpringBoot2:学SpringBoot前的知识准备-用IDEA创建传统的webapp工程,并整合SpringMVC

1、IDEA创建工程 基于Maven模板创建的SpringMVC工程 工程创建好后,只有webapp目录 这里,我们需要手动创建java目录和resources配置文件目录 创建好后,配置下目录属性 最终结构 至此,工程就创建好了 2、配置Tomcat 参考&am…

论文笔记:2023顶会SIGIR - Strategy-aware Bundle Recommender System

论文笔记:2023顶会SIGIR - Strategy-aware Bundle Recommender System

【Python报错已解决】`Provisional headers are shown Learn more`

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 引言:一、问题描述:1.1 报错示例:1.2 报错分析:1.3 解决思路&#xff…

145. 利用 Redis Bitmap实践: 用户签到统计

文章目录 一、Redis Bitmap简介二、Bitmap 的主要应用三、Go使用Redis实现签到统计用户签到查询用户签到状态统计今年累计签到天数统计当月的签到情况 总结 在现代应用程序中,用户签到是一个常见的功能。我们通常使用 MySQL 数据库来存储用户的签到记录。然而&#…

智能家居系统(基于STM32F103C8T6标准库+FreeRTOS+Qt串口开发实现)

视频演示:基于STM32F103C8T6标准库FreeRTOSQt串口开发实现的智能家居项目_哔哩哔哩_bilibili 基于STM32F103C8T6标准库FreeRTOSQt串口开发实现的智能家居项目: https://pan.baidu.com/s/1f41gAfOOnlcQoKoMx3o84A?pwd6j2g 提取码: 6j2g 注:本项目为学习完…

Windows I/O系统

硬件存储体系 寄存器 处理器内部定义的存储体,它们除了存储功能,往往还兼有其他的能力,比如参与运算,地址解析,指示处理器的状态,等等。寄存器是由处理器内部专门的触发器电路实现的,处理器往…

2024年高教杯国赛(B题)数学建模竞赛解题思路|完整代码论文集合

我是Tina表姐,毕业于中国人民大学,对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在,我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

基于物联网的低成本便携式传感器节点用于火灾和空气污染的检测与报警

目录 摘要 引言 材料和方法 传感器节点 IoT 微控制器 颗粒物传感器 环境和气体传感器 MQTT代理 Node-Red监控平台 系统结构 数据存储 工作描述 实验结果 讨论 结论 致谢 参考文献 这篇论文的标题是《Low-cost IoT-based Portable Sensor Node for Fire and Air…

数据要素大市场打开新局面——数字经济背景下中国特色的数据产权三权分置

前言 数字经济飞速发展的大背景下,无论是数据要素大市场还是数据资产入表的发展和落地,都需要以数据产权基本制度为保障。对数据产权给与恰当的权利定位,有助于让数据成为创造和捕获价值的新经济资源。数据的价值在于使用,而传统…

链表leetcode-1

目录 1.常用技巧 1.1引入虚拟头结点 1.2对于变量,不要太吝啬,可以多定义,方便处理 1.3快慢双指针 2.例题 2.1两数相加 2.2两两交换链表中的节点 2.3重排链表 2.4合并K个升序链表 2.5K个一组翻转链表 1.常用技巧 1.1引入虚拟头结点 可…

场景是人工智能第四要素,是垂直领域人工智能的第一要素。

"场景是人工智能的第四要素,与数据、算力、算法同等重要。"拿着技术找场景,还是拿着场景找技术?这个锤子和钉子的问题,一直困扰着各家AI大厂。从近5年的实践来看,拿着场景找技术是更为稳健的,否则…

哪款宠物空气净化器能更好的清理浮毛?希喂、352、IAM测评分享

家里这三只可爱的小猫咪,已然成为了我们生活中不可或缺的家庭成员,陪伴我们度过了说长不长说短不短的五年时光。时常庆幸自己当年选择养它们,在我失落的时候总能给我安慰,治愈我多时。 但这个温馨的背后也有一点小烦恼&#xff0…