软件构造
文章平均质量分 76
windblow233
这个作者很懒,什么都没留下…
展开
-
hit软件构造——关于异常的理解
java中的异常分为两大类:checked异常和unchecked异常。其中,unchecked又分为error和runtime异常。异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。 程序错误分为三种:1.编译错误;2.运行时错误;3.逻辑错误。 (1)编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是大家在刚接触编程语言最常...原创 2021-07-07 18:35:58 · 213 阅读 · 0 评论 -
hit软件构造——如何保证一个immutable类型
什么是immutable?Immutable Data 就是一旦创建,就不能再被更改的数据。对 Immutable 对象的任何修改或添加删除操作都会返回一个新的 Immutable 对象。Immutable 实现的原理是 Persistent Data Structure(持久化数据结构),也就是使用旧数据创建新数据时,要保证旧数据同时可用且不变。同时为了避免 deepCopy 把所有节点都复制一遍带来的性能损耗,Immutable 使用了 Structural Sharing(结构共享),即如果对原创 2021-07-07 18:09:34 · 167 阅读 · 0 评论 -
hit软件构造博客(三)——总结关于SVN和git那点事
注:关键词提取:git是分布式的,而svn是非分布式的版本控制系统。svn的连接需要连网,没有网就提交不到库中。而git是从总库中拷贝一个库放到你的本地中,你就可以在没有网的时候先提交到本地库,有网了后再从本地提交到总库。SVN是集中式版本控制系统,版本库是集中放在中央服务器,而工作的时候,用自己的电脑,首先要从中央服务器得到最新的版本,然后工作后,需要把自己做完的活推送到中央服务器。 集中式版本控制系统必须联网才能工作,对网络要求比较高。Git是分布式版本控制系统,没有中央服务器,每个人电原创 2021-07-07 17:46:50 · 190 阅读 · 0 评论 -
哈工大软件构造——设计模式学习
这部分由于时间匆忙,7中基本的设计模式,老师只讲了半个小时。下面对于几种设计模式做出自己的理解:从总接口,用户角度出发理解1. Adapter:客户现在只知道有一个方法叫method,method本来在class A中实现了,但是现在需要进行废弃,利用classB中的method2方法。此时就需要一个适配器,我们表面上,让客户调用我们的适配器,它调用的方法是method。但实际上我们在适配器中的method中的实现,返回的是B中的method1.从而用户最后得到的输出来自于method2。pu原创 2021-07-07 17:35:45 · 325 阅读 · 0 评论 -
哈工大软件构造博客(二)
在第二次实验中,我们需要根据已有的泛型设计adt。需要学会阅读规约,并且在RI,AF的要求下,保证rep不发生泄露的情况下进行编程。这里以Graph中的规约为例:/** * Add a vertex to this graph. * * @param vertex label for the new vertex * @return true if this graph did not already include a vertex with the原创 2021-07-07 16:44:22 · 124 阅读 · 0 评论 -
HIT2020春软件构造lab1
HIT 2020年春季学期计算机学院《软件构造》课程**Lab 1实验报告目录1 实验目标概述2 实验环境配置3 实验过程3.1 Magic Squares3.1.1 isLegalMagicSquare()3.1.2 generateMagicSquare()3.2 Turtle Graphics3.2.1 Problem 1: Clone and import3.2.2 Problem 3: Turtle graphics and drawSquare原创 2021-05-27 16:33:38 · 408 阅读 · 0 评论