自定义博客皮肤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)
  • 收藏
  • 关注

原创 软件构造博客五------软件构造技术

白盒复用:源代码可见而且可修改和拓展。黑盒复用源代码不可见,不能修改白盒框架:通过代码层面的继承进行框架拓展。黑盒框架:通过实现特定接口/delegation进行框架拓展。LSP原则:子类型多态:客户端可用统一的方式处理不同类型的对象。例如:在可以使用a的场景都可以使用c1和c2代替而不会存在任何问题。如果对于类型T的对象x,q(x) 成立,那么对于类型T的子类型S的对象y,q(y) 也成立。子类型可以增加方法,但不可删;子类型需要实现抽象类型 (接口、抽象类)中所有未实现的方法。子类型中重写的方法必

2022-06-13 16:04:09 148 1

原创 软件构造博客4----ADT和OOP

抽象数据类型与表示独立性:能够分离程序中数据结构的形式和对其使用的方式。如何设计良好的抽象数据结构,通过封装来避免客户端获取数据的内部表示(即“表示泄露”),避免潜在的bug——在client和implementer之间建立“防火墙”,可以很好地防止表示泄露。abstraction functions:抽象函数(AF);representation invariants:表示不变量(RI)--通过抽象函数和表示不变量的概念,对类实现ADT意味着什么这一更重要的数学概念。这些数学概念在软件设计中非常实用。re

2022-06-09 21:06:04 207

原创 软件构造博客三----软构笔记

·数据类型基本知识,静态/动态类型检查·可变/不变的数据类型·可变数据类型的危险性·不变数据类型的优越性·用Snapshot图理解数据类型·用集合类表达复杂数据类型·了解空引用的危害并避免数据类型指的是一组值以及可以对其执行的操作。例如:boolean类型包括true和false;int类型表示整数等。变量指的是用特定数据类型定义,可存储满足类型约束的值。java的基本数据类型:int,long,boolean,double,char。java的对象数据类型:String,BigInteger等。在java

2022-06-06 17:22:24 106

原创 软件构造博客2----软构笔记

我们进行软件构造的时候要先搞清楚:软件构造的对象是什么,如何刻画;然后再关注如何构造。

2022-06-01 22:14:34 127

原创 哈工大计算机系统大作业 程序人生-Hello’s P2P

本文以hello程序为中心,阐述了hello程序在Linux系统下的生命周期,详尽的分析了hello.c文件经过预处理,编译,汇编,链接,执行直到终止的完整流程,同时结合程序运行过程说明了Linux操作系统对程序的进程管理,存储管理,I/O管理的详细内容。全文内容完整的覆盖了课本的主要内容,对课程所讲授的知识点进行了复习巩固与深化理解。

2022-05-19 16:58:25 111

原创 软件构造博客1----GitHub与IDEA的联动

前言本学期哈工大计算学部开设软件构造这门课程,作业要求提交在GitHub上面。GitHub是一个方便的代码托管平台,在代码托管,版本控制等方面有着十分重要的作用。鉴于老师的要求允许使用IDEA来完成作业,我在这里介绍一下GitHub和IDEA的连接方法,图形化界面方便操作,更加快捷,适合新手小白上手。使用过程一.设置远程仓库由于实验老师在GitHub上为我们提供了提交的仓库,此处暂时不对GitHub创建仓库等操作进行进一步讲解,具体我可能会在后面的博客中给出讲解。二.将本地内容提交到Gi

2022-05-17 20:05:22 175 1

空空如也

空空如也

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

TA关注的人

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