自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 软件构造(复习漏洞OneNote编辑)

2020-07-11 21:39:20 114 1

原创 面向可维护性的设计模式

面向可维护性的设计模式Creational patterns (关于如何创建类的新实例的模式)工厂方法模式(Virtual Constructor)抽象工厂模式结构模式(Structural patterns)代理模式行为模式Observervistor Creational patterns (关于如何创建类的新实例的模式) 工厂方法模式(Virtual Constructor) 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使得一个类的实例化延迟到其子类。 当client不知道要创建哪个

2020-07-02 17:25:46 186

原创 软件的可维护性的度量和构造原则-1

软件的可维护性的度量和构造原则可维护性的指标模块化设计与模块化编程评价模块性的几个标准模块设计的五条原则OO设计原则:SOLIDSRP:单一设计原则Open/Closed Principle(OCP)LSP里氏替换原则接口隔离原则(ISP)依赖转置原则(DIP)OO设计原则:GRASP 可维护性的指标 评价软件复用性的可维护性指数: 1.霍尔斯特德容积 2.圈复杂度 3.每个模块平均行数 4.每个模块的注释行百分比 模块化设计与模块化编程 主要是高内聚,低耦合,分离关注点,信息隐藏。 评价模块性的几个标准

2020-07-02 09:52:54 613

原创 软件构造面向可复用性的技术-2(设计模式)

软件构造面向可复用性的技术-2结构型模式适配器模式(Adapter)装饰器模式(Decorator)外观模式(Facade)行为模式策略模式模板模式迭代器模式 结构型模式 适配器模式(Adapter) 将某个类/接口转换为client期望的其他形式。通过增加一个接口,将已存在的子类封装起来,client面向接口编程,从而隐藏了具体子类。 装饰器模式(Decorator) 每个子类实现不同的特性,为对象增加不同侧面的特性,对每一个特性构造子类,通过为委派机制增加到对象上。即使用到了子类型也使用到了委派

2020-07-02 08:10:52 268

原创 软件构造面向可复用性的技术-1

软件构造面向可复用性的技术-1里氏替换原则(LSP)关于协变Covariance委托和合成 里氏替换原则(LSP) 定义一:If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T,the behavior of P is unchanged when o1 is substituted for o2 then S is a subtyp

2020-07-01 15:07:20 71

原创 软件构造ADT和OOP——3

ADT的等价性Immutable类型的等价性==和equals的比较equals规约Hashcode规约mutable类型的等价性对于Integer类型的判断 Immutable类型的等价性 使用AF去定义等级性 将数据类型的具体实例映射到相应的抽象值,AF映射到相同的结果,则等价。 使用Observer进行定义等价性 站在外部观察者的角度:对两个对象调用任何相同的操作,都会得到相同的结果,则认为这两个对象是等价的。反之亦然。 ==和equals的比较 ==为引用等价性 equals为对象等价性 在自定义A

2020-06-29 22:48:07 233

原创 软件构造ADT和OOP-2

软件构造ADT和OOP-2设计规约编程语言中的函数和方法规约ADT抽象和用户定义的数据类型对于ADT操作的分类抽象数据类型的表示独立性对于ADT的测试策略ADT的不变量表示不变量和抽象函数有益的可变性 设计规约 编程语言中的函数和方法 函数和方法的类型检验: 参数类型是否匹配,在静态类型检查阶段完成。 返回值类型是否匹配,在静态检查阶段完成。 方法是程序的“积木”,可以被独立开发、测试、复用。使用“方法”的客户端,无需了解方法内部具体如何工作——这就是“抽象”。 对于一个方法来说: 其有规约spec、和

2020-06-28 16:31:21 149

原创 软件构造——ADT和OOP-1

软件构造ADT和OOP-1数据类型和类型检验编程语言的数据类型静态和动态数据类型检查可变量与不可变量snapshot相关关于List Set 以及Map的迭代器有用的不可变类型 数据类型和类型检验 编程语言的数据类型 1.关于数据类型和变量   数据类型(type)表示的是变量的集合,并且可以对这种变量进行操作。   变量(Variables)表示特定数据类型定义,可存储满足类型约束的值。   Java中的基本数据类型:int 、boolean等;对象数据类型:String、BigInteger等。 静态

2020-06-27 21:47:54 197

原创 HELLO 程序人生

计算机科学与技术学院 2019年12月 摘 要 Hello程序看似简单实现起来却需要大量流程。Hello程序也有着其不平凡的一生,本文以hello.c为例子,讲述在linux系统下从一个c文件至可执行文件,并且经过处理成为一个进程,后又在软硬件支持下运行,直到进程被回收的过程。以此为例,更好的讲述计算机的底层实现,表明程序的一生。 关键词:P2P;O2O;linux;计算机系统; (摘要0分,缺...

2019-12-29 14:47:33 493 1

空空如也

空空如也

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

TA关注的人

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