自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 2023哈工大软件构造复习 9-12讲

Composition: 更强的association,但难以变化,Composition是Association的一种特殊类型,其中Delegation关系通过类内部field初始化建立起来,无法修改,当所拥有的对象被销毁时,所包含的对象也会被销毁。主要用在讲与原接口不符的参数转化为可以被方法接受的参数,类似充电器的转接器。visitor是站在外部client的角度,灵活增加对ADT的各种不同操作(哪怕ADT没实现该操作),strategy则是站在内部ADT的角度,灵活变化对其内部功能的不同配置。

2023-05-25 19:36:04 111 1

原创 2023 哈工大软件构造期末复习提纲4-8讲

对可变类型来说,往往倾向于实现严格的观察等价性,但也有例外,例如如果某个mutable的对象包含在HashSet集合类中,当其发生改变后,集合类的行为不确定务必小心。有些mutation只是改变了R值,并未改变A值,对client来说是immutable的 →“AF并非单射”,从一个R值变成了另一个R值,但这并不代表在immutable的类中就可以随意出现mutator!对可变类型来说,往往倾向于实现严格的观察等价性,对不可变类型来说,不存在行为等价性,只存在观察等价性,因为不可变类型不能发生变化。

2023-05-25 14:50:10 84 1

原创 2023 哈工大软件构造期末复习提纲1、3章

VCS版本控制系统:包括Local VCS(仓库存储于开发者本地机器无法共享和协作)、Centralized VCS(仓库存储于独立的服务器支持多开发者之间的协作)、Distributed VCS(仓库存储于独立的服务器+每个开发者的本地机器)。CMDB:配置管理数据库(存储软件的各配置项随时间发生变化的信息+基线)内部质量指标:正确性、健壮性、可扩展性、可复用性、效率、及时性。Git存储发生变化的文件(而非代码行),不变化的文件不重复存储。文件发生变化了,存储两份不同的文件,两个版本指向不同的文件。

2023-05-24 20:49:59 93 1

原创 哈工大2023 软件构造 Lab3 实验报告

两个构造器,一个有参(元素类型)、一个无参,添加中心元素,添加电子(需要电子的轨道号),获得原子的轨道数和电子数,获得所有的轨道,电子跃迁(传入参数是一个源头轨道一个目标轨道,由于所有的电子都是等价的,所以我在这里采用的测略是将源头轨道删除一个电子,在向目标轨道加入一个电子),获得系统熵值,系统可视化,从文件中构造系统。Center类共有三个具体的子类包括恒星、中心人、原子核。而实现类里面的数据包括一个类型为L的中心物体,一个E的列表来表示系统里的所有物体,一个Track的列表,来表示系统的所有轨道。

2023-05-22 16:37:20 244 1

原创 哈工大2023 软件构造 Lab2 实验报告

每次读取一个词,然后以当前词为source,下一个词为target,在graph中寻找符合此条件的边,记录权值,结束后选择权值最大的,利用StringBuilder. Append方法,将节点名字加入字符串。遍历vertices,如果当前点是vertex,删去(使用iterator.remove方法),如果不是,检查它的source和target是否包含vertex,如果有删去。=0,移去可能已经存在的相同起始点的边,然后加入新的边,如weight=0,寻找可能已经存在的相同起始点的边,删去。

2023-05-22 16:28:39 150 1

原创 哈工大2023 软件构造 Lab1 实验报告

我使用的是IntelliJ IDEA,这个IDE给我的感觉是功能十分丰富,拥有许多快捷一键操作,可以省去很多编写重复简单代码的负担,实时编译的功能也特别实用,可以在coding时就发现错误,纠正自己的编程习惯,另外,使用IDEA集成的Git操作也十分方便,有一点不足也是界面太过繁琐,不够整洁美观。Java语言既没有C语言繁琐,也没有python简洁,但优势在于拥有丰富的库资源,面对问题时不必“再造轮子”,也是一种面向对象的语言,这也增强的代码的灵活性和可复用性,是一门十分成熟的编程语言。

2023-05-22 16:27:02 108 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除