- 博客(11)
- 收藏
- 关注
原创 软件构造复习笔记-Part5 断言与调试
断言 作用:允许程序在运行时检查自己,测试有关程序逻辑的假设,如前置条件、后置条件、不变量等,可将黑盒测试转换为白盒测试 应用场合 输入/输出参数落在预期范围内 程序运行/结束时文件流的打开和关闭 程序开始(结束)时文件处于开始(结束) 文件流以只读、只写或读写方式打开 输入变量的值不被方法改变 判断指针不是空值 判断数据结构是否是指定长度 判断真值表是否初始化 当一个方法开始执行时(或完成时...
2019-06-23 23:43:47 148
原创 软件构造复习笔记-Part4 第五章
LSP 子类必须能够替换基类,具有较弱的前置条件和较强的后置条件,尽量从抽象类而非具体类继承 子类就是一个父类,父类能够出现的地方子类一定能够出现。 父类能够完成的功能子类也能够完成. 内在含义 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法.【核心观念】 子类中可以增加自己特有的方法. 前置条件放大, 子类在重载父类的已实现方法时,方法的前置条件(形参)范围应该比父类更加宽松. ...
2019-06-23 23:37:21 108
原创 软件构造复习笔记-Part4 设计模式 - 行为模式
观察者(observer) 建模对象之间的一对多依赖关系 * 保持冗余状态的一致性 * 优化一批更改以保持一致性 关键代码:在抽象类里有一个 ArrayList 存放观察者们。 优点: 1、观察者和被观察者是抽象耦合的。 2、建立一套触发机制。 缺点: 1、如果一个被观察者对象有很多的直接和间接的观察者的话,将所有的观察者都通知到会花费很多时间。 2、如果在观察者和观察目标之间有循环依赖...
2019-06-23 23:29:06 130
原创 软件构造复习笔记-Part4 设计模式 - 构建模式
factory method 将实例的生成交给子类,将代码同对象创建解耦 关键代码:创建过程在其子类执行。 优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。 3、屏蔽产品的具体实现,调用者只关心产品的接口。 缺点: 每次增加一个产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增...
2019-06-23 23:00:40 123
原创 软件构造复习笔记-Part4 设计模式 - 结构模式
bridge 将类的功能层次结构与实现层次结构分离 关键代码:抽象类依赖实现类。 优点: 1、抽象和实现的分离。 2、优秀的扩展能力。 3、实现细节对客户透明。 缺点: 桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。 proxy 只在必要时生成实例 关键代码:实现与被代理类组合。 远程(Remote):提供一个对象在不...
2019-06-23 22:59:31 101
原创 软件构造复习---17年第12题
第一次做题的时候是没复习的时候盲做了一遍,发现对这一块的知识点掌握得不好。 查看一下三段代码 public void add(int index, E element){ if(size >= elements.length) { throw new RuntimeException("顺序表已满,无法添加"); //return; } ...
2019-06-23 22:38:56 182
原创 软件构造复习笔记-Part3 第七章
健壮性和正确性 健壮性:处理各类情况的能力 正确性:正确实现规格说明的能力 测量:平均故障间隔时间(MTBF)、残余缺陷率(软件发布后留下的bug) Throwable 有两个子类,即error和exception error:程序无法处理的错误,通常是JVM的问题,不需要catch 处理策略:预先阻止、错误中恢复、优雅地退出 处理方式 返回中立值 替换下一个有效数据 返回与前一次相同的...
2019-06-23 22:32:40 99
原创 软件构造复习笔记-Part2 第八章
内存管理模型:堆、栈 静态:程序开始时就已分配好 在程序执行期内实体至多关联一个运行时对象 实体:属性、参数、局部变量和结果等在代码中的名字,其值为对象或对对象的引用 在执行过程中的某个阶段,如果x的值是O或对O的引用,则实体x附加到对象O 类型 不支持递归和创建动态数据结构 堆:将内存分为多份,保存对象或未使用 通过显式请求动态创建对象,完全动态,亦称自由模式 一个实体可连续附加...
2019-06-23 22:19:16 104
原创 软件构造复习笔记-Part1 第十章
进程和线程 进程 定义:正在运行程序的一个实例,拥有自己私有专用的内存空间 可抽象为虚拟计算机,拥有独立的执行环境和完整的资源 进程间通常不共享内存,不能访问其他进程的内存和对象,需要特殊机制 进程通信采用消息传递方式,即标准I/O流,为了实现进程间通信,大多数操作系统都支持“进程间通信(IPC)资源”,如管道和socket 线程 定义:正在运行程序的一个执行路径(一个进程可对应多个线...
2019-06-23 20:03:56 205
原创 软件构造-Lab1
软件构造-Lab1 实验前准备 配置Java环境 下载IDE(例如:Eclipse,NetBeans,IDEA等) 下载Junit插件 下载配置Git环境 配置Java环境
2019-03-27 19:46:03 227
原创 CSAPP大作业,Hello的自白
摘 要 简简单单的hello.c应该是每一个程序员所写出的人生中的第一个程序,但是不要看hello.c简短,但是其在计算机中运行却有着许许多多的奥妙值得每一个程序员去探索,由简单的程序开始去一步一步了解更加复杂,更加值得去探索的程序,才会一步一步的成长,这次的大作业就从hello开始第一步。 关键词:hello,运行,系统 目 录 第1章 概述 - 4 - 1.1 HELLO简介 - 4 - ...
2018-12-31 01:56:58 613
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人