软考之零碎片段记录(二十二)+复习巩固(三、四)

一、学习

1. 动态绑定

调用函数时根据所引用对象的实际类型来判断并调用其相应的方法。

2. 包或对象无环依赖原则

环意味着存在循环依赖,即包A依赖于包B,而包B又依赖于包A。这种循环依赖会导致设计上的复杂性,使得代码维护和更新变得困难。循环依赖使得模块之间的耦合度过高,不利于代码的解耦和模块化。

3. 里氏替换原则

  • 子类可以替换父类。子类完全可以实现父类的功能。

按照里氏替换原则,如果我们将一个使用“鸟”类对象(比如调用其“飞”方法)的地方替换为“鸵鸟”类对象,程序的行为应该保持不变。但在这个例子中,这显然是不可能的,因为鸵鸟不能飞。因此,这个设计违反了里氏替换原则。

  • 举例子

为了解决这个问题,我们可以对设计进行重构。一种可能的方案是,我们不再在“鸟”基类中定义“飞”方法,而是创建一个新的接口叫做“可飞的”,只有那些真正能飞的鸟类(如“麻雀”)才实现这个接口。这样,“鸟”类(包括不能飞的“鸵鸟”类)和“可飞的”接口就构成了里氏替换原则的正确使用。

4. 面向对象设计

1)概念
  • 认定对象。对系统进行抽象和概括。
  • 组织对象。组织对象的过程实际上是对对象进行分类和归纳的过程,旨在将具有相似属性和行为的对象聚合在一起,形成类。
  • 对象之间相互作用。相互调用、定义消息传递机制等。
  • 基于对象的操作(定义对象)。定义了对象之间相互作用之后,需要定义对象具体的行为和属性,确定参数返回值等。
2)面向对象设计语言
  • OOP 为面向对象的具体实现
3) 面向对象设计
  • OOD 为面向对象的设计
4) 面向对象分析
  • OOD 为面向对象的分析

5. python语法

  • list
    python x = [1,2] 为List结构。x*2 = [1,2,1,2] 相当于List * 2。
  • 概念
  1. tuple(元组):是不可变的,有序的,元素可以重复。
  2. dict(字典):是可变的,有序的,不能重复的
  3. list(列表):是可变的,有序的,可以重复的
  4. set(集合):是可变的,有序的,不能重复的

6. 数据库创建视图

数据字典中保存的是对视图的定义。如create view as …

7. 自然连接与等值连接

  • 自然连接(Natural Join)是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。这种操作在关系型数据库中常用于连接多个表以获取所需的数据。自然连接与等值连接的主要区别在于,自然连接会删除连接结果中的重复属性列,而等值连接则不会。

8. 笛卡尔积

笛卡尔积关系表达式描述了两个集合之间所有可能的有序对的集合。

  • 实际运算
    在这里插入图片描述

二、复习(三)

  1. 敏捷开发。并列争球法。学习橄榄球运动。紧密配合,通过协同来竞争
  2. 极限编程
  • 简单设计。不过度设计,不断重构。保持代码简洁和易于理解。
  • 小步快跑。多任务共同进行。
  • 结对编程。相互分享知识,互相学习。
  • 持续继承。不断提交代码。自动化测试。
  • 测试驱动开发。编写测试代码保持正确性。
  • 持续开发。保持经历可以高效工作并能够合理安排休息时间
  1. 水晶法
  • 透明性和清晰性
  • 适合小团队
  • 注重沟通交互。分享项目进度。
  • 注重交流反馈来推动项目进度
  1. 管道过滤器体系风格
  • 高内聚低耦合。
  • 适合高并发。
  • 可维护性好
  • 缺点是不适合交互式应用。系统性能不高。
  1. 白盒测试Mccabe
  • 路径覆盖条数计算公式:m(边) - n(点) +2
  1. 软件修改维护
  • 改正性
  • 适用性
  • 预防性
  • 改善型(性能等)
  1. 软件测试分层
    算法、类、模板、系统。
  2. UML序列描述
  • 共同重用,对类和包放在一起形成组件或包
  • 共同封闭,修改封闭内的共能不影响封闭外的功能
  • 开发封闭。对拓展开放,对改便关闭。
  • 接口分离。面向抽象编程而不是具体。不强迫用户使用他们用不到的方法。

三、复习(四)

  1. 时序图。时间顺序调用,下一个节点会在上一个节点执行完后调用。
  2. 用例图。参与者、用例、边界以及他们之间的关系构成的图
  3. 对象图。最明显特点就是生成某一时刻对象的实例,可重复
  4. 活动图。动作和动作导致状态改变的结果。
  5. 包图。是一种描述包和包之间关系的图。他之中会有类、接口、构建、节点、协作和可嵌套包。

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

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

相关文章

计算机网络——数据链路层(介质访问控制)

计算机网络——数据链路层(介质访问控制) 介质访问控制静态划分信道动态划分信道ALOHA协议纯ALOHA(Pure ALOHA)原理特点 分槽ALOHA(Slotted ALOHA)原理特点 CSMA协议工作流程特点 CSMA-CD 协议工作原理主要…

Modern CSV for Mac:强大的CSV文件编辑器

Modern CSV for Mac是一款功能强大的CSV文件编辑器,专为Mac用户设计,提供直观易用的界面和丰富的功能,使用户能够轻松编辑和管理CSV文件。 Modern CSV for Mac v2.0.6激活版下载 这款软件支持快速导入和导出CSV文件,方便用户与其他…

20240330-1-词嵌入模型w2v+tf-idf

Word2Vector 1.什么是词嵌入模型? 把词映射为实数域向量的技术也叫词嵌⼊ 2.介绍一下Word2Vec 谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一。Word2Vec实际是一种浅层的神经网络模型,它有两种网络结构,分别是连续词袋&#xff…

arping命令详解

arping – send ARP REQUEST to a neighbour host. arping 是一个在网络中发送 ARP 请求以查找特定 IP 地址对应的 MAC 地址的命令行工具。它的功能类似于 ping 命令,基于ARP协议报文的交互机制,只能测试同一网段或子网的网络主机的连通性。 ARP 是 Add…

Linux 小技巧1

目录 一. 统计文件的总行数二. 获取从第二行开始的内容三. 合并两个文件为一个文件四. 统计指定列唯一值的数量五. 列出文件的绝对路径六. 获取除了空白行和注释之外的部分 一. 统计文件的总行数 ⏹非压缩文件 统计当前文件夹下csv文件的行数 wc -l ./*.csv统计指定文件夹下…

初学者如何选择ARM开发硬件?

1. 如果你有做硬件和单片机的经验,建议自己做个最小系统板:假如你从没有做过ARM的开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会碰到各种问题&#xf…

大数据Hive中的UDF:自定义数据处理的利器(上)

文章目录 1. 前言2. UDF与宏及静态表的对比3. 深入理解UDF4. 实现自定义UDF 1. 前言 在大数据技术栈中,Apache Hive 扮演着数据仓库的关键角色,它提供了丰富的数据操作功能,并通过类似于 SQL 的 HiveQL 语言简化了对 Hadoop 数据的处理。然而…

认知觉醒 PDF电子版 下载

认知觉醒 PDF电子版 开启自我改变的原动力 周岭 / 人民邮电出版社 / 2020-10 链接:https://pan.baidu.com/s/1EHUK_AhvE5TWAZsYXFQ5QA?pwdwrho 提取码:wrho

【PyTorch】torch.gather() 用法

gather常被用于image做mask的操作中,对哪些地方进行赋值0/1 API: torch.gather — PyTorch 2.2 documentation torch.gather(input, dim, index, outNone) → Tensor gather()的意义: 顾名思义,聚集、集合:gather…

OpenUI在windows下部署使用

OpenUI OpenUI是一个基于Python的AI对话平台,支持接入多种AI模型。 通过聊天的方式来进行UI设计,你可以通过文字来描述你想要的UI界面,OpenUI可以帮你实时进行渲染出效果 安装OpenUI 这里预设你的电脑上已安装git、Python和pip&#xff0…

分类神经网络2:ResNet模型复现

目录 ResNet网络架构 ResNet部分实现代码 ResNet网络架构 论文原址:https://arxiv.org/pdf/1512.03385.pdf 残差神经网络(ResNet)是由微软研究院的何恺明、张祥雨、任少卿、孙剑等人提出的,通过引入残差学习解决了深度网络训练中的退化问题&#xff…

Nodejs - 异步I/O

异步I/O 利用单线程,远离多线程死锁,状态同步等问题,利用异步I/O, 让单线程原理阻塞,更好的使用cpu异步I/O实现现状 阻塞IO 操作系统内对于I/O只有两种方式: 阻塞和非阻塞。在调用阻塞I/O的时候,应用程序需…