- 博客(8)
- 资源 (2)
- 收藏
- 关注
原创 【软件构造】ADT和OOP中的等价性 Equality in ADT and OOP
本文主要介绍ADT等价性中的==操作符和equals函数。==和equals对比在Java中,定义两个ADT是否相等可以从两个方面进行考虑:引用等价性和对象等价性。 引用等价性:两个对象指向相同的内存区域 对象等价性:两个对象的内容在适当的定义下相同 ==操作符即是判断两个对象是否引用等价,而equals函数便是判断两个对象是否在内容上相等。当我们定义新数据类型时,我们有责任确定数据类型值的对象等于什么,并适当地重...
2021-07-07 20:34:34
160
原创 【软件构造】抽象数据类型的表示不变性(RI)、抽象函数(AF)和表示泄漏 Rep Invariantand,Abstraction Function and Rep Exposure of ADT
抽象数据类型(ADT)是强调操作的一种数据类型,用户程序员无需关心抽象数据类型的内部实现。ADT分为可变的(mutable)和不可变的(immutable),二者都在方法中都可以存在构造器(Creators)、生产器(Producers)和观察器(Observers),唯一的区别在于不可变的类型没有变值器(Mutators)以改变对象属性,而可变的类型允许存在变值器对域进行修改。表示独立性(Rep Independence)指的是client使用ADT时无需考虑其内部如...
2021-07-07 17:14:24
349
原创 【软件构造】规约:面向沟通的交流Specification: Programming for communication
在编写程序的时候我们往往会面向编译器进行对话,编写逻辑正确、语法正确的程序以便通过静态检查,让编译器信服。但是只与编译器进行沟通是远远不够的,我们编写出的代码要符合现实情况而且要让其他程序员以及未来的自己读懂,所以我们需要编写文档(Documentation)来说明我们的程序,这种文档常常书写在源代码中,以注释的形式存在。 其中对于方法来说,一个重要的文档便是规约(Specification)规约(Specification) 规约(Specificat...
2021-07-07 14:56:20
116
原创 【软件构造】Git作为软件配置管理工具的一个示例 Git as an example of SCM tool
Git是我们在使用软件开发过程中经常使用的一个软件配置管理工具,同时他也支持版本控制。本文简要介绍作为SCM的一个工具——Git的原理和工作模式。
2021-07-07 14:00:59
494
原创 【软件构造】测试和测试优先编程 Testing and Test-First Programming
测试在软件构造中占有着重要地位,如果我们能够养成在编写代码的同时编写测试用例的习惯,那么编程就会变得更加容易,同时也能提升程序的正确性和健壮性。测试软件测试是提供有关被测产品或服务质量的信息而进行的一项调查,是提高软件质量的重要手段。他是执行程序或应用程序的一个过程,目的是发现错误(或者其他缺陷),并验证软件产品是否适合使用,他常常关注软件的某一侧面的质量特性。即使是最好的测试,也没有办法达到100%的无错误;再好的测试也没有办法证明系统中100%...
2021-07-07 12:41:02
141
原创 HIT 计算机系统大作业 程序人生-Hello’s P2P
摘 要本文以Hello程序的视角阐述了计算机系统中有关预处理、编译、汇编、链接以及进程管理、内存管理和IO管理等内容,将Hello程序视作一个有血有肉的人,用他的眼睛去漫游计算机系统。他经历了预处理、编译、汇编和链接,Shell将他加载到内存中去,OS和Bash为他创建进程,同时OS为他分配虚拟内存,这让他以为独享着CPU和内存,但其实都是上下文切换的假象。IO管理通过协调键盘、主板、显卡和屏幕,最终将他显示出来。虽然只是简单的一句话、虽然他的人生平凡无奇,但却依然丰富多彩,足以让我们看到计算机系统的.
2021-06-23 21:37:55
387
【免费】哈工大计算机网络期末复习资料知识点总结.pdf
2021-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人