- 博客(9)
- 收藏
- 关注
原创 面向可维护性的设计模式
面向可维护性的设计模式Creational patterns (关于如何创建类的新实例的模式)工厂方法模式(Virtual Constructor)抽象工厂模式结构模式(Structural patterns)代理模式行为模式ObservervistorCreational patterns (关于如何创建类的新实例的模式)工厂方法模式(Virtual Constructor)定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使得一个类的实例化延迟到其子类。当client不知道要创建哪个
2020-07-02 17:25:46 213
原创 软件的可维护性的度量和构造原则-1
软件的可维护性的度量和构造原则可维护性的指标模块化设计与模块化编程评价模块性的几个标准模块设计的五条原则OO设计原则:SOLIDSRP:单一设计原则Open/Closed Principle(OCP)LSP里氏替换原则接口隔离原则(ISP)依赖转置原则(DIP)OO设计原则:GRASP可维护性的指标评价软件复用性的可维护性指数:1.霍尔斯特德容积2.圈复杂度3.每个模块平均行数4.每个模块的注释行百分比模块化设计与模块化编程主要是高内聚,低耦合,分离关注点,信息隐藏。评价模块性的几个标准
2020-07-02 09:52:54 640
原创 软件构造面向可复用性的技术-2(设计模式)
软件构造面向可复用性的技术-2结构型模式适配器模式(Adapter)装饰器模式(Decorator)外观模式(Facade)行为模式策略模式模板模式迭代器模式结构型模式适配器模式(Adapter)将某个类/接口转换为client期望的其他形式。通过增加一个接口,将已存在的子类封装起来,client面向接口编程,从而隐藏了具体子类。装饰器模式(Decorator)每个子类实现不同的特性,为对象增加不同侧面的特性,对每一个特性构造子类,通过为委派机制增加到对象上。即使用到了子类型也使用到了委派
2020-07-02 08:10:52 292
原创 软件构造面向可复用性的技术-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 81
原创 软件构造ADT和OOP——3
ADT的等价性Immutable类型的等价性==和equals的比较equals规约Hashcode规约mutable类型的等价性对于Integer类型的判断Immutable类型的等价性使用AF去定义等级性将数据类型的具体实例映射到相应的抽象值,AF映射到相同的结果,则等价。使用Observer进行定义等价性站在外部观察者的角度:对两个对象调用任何相同的操作,都会得到相同的结果,则认为这两个对象是等价的。反之亦然。==和equals的比较==为引用等价性equals为对象等价性在自定义A
2020-06-29 22:48:07 257
原创 软件构造ADT和OOP-2
软件构造ADT和OOP-2设计规约编程语言中的函数和方法规约ADT抽象和用户定义的数据类型对于ADT操作的分类抽象数据类型的表示独立性对于ADT的测试策略ADT的不变量表示不变量和抽象函数有益的可变性设计规约编程语言中的函数和方法函数和方法的类型检验:参数类型是否匹配,在静态类型检查阶段完成。返回值类型是否匹配,在静态检查阶段完成。方法是程序的“积木”,可以被独立开发、测试、复用。使用“方法”的客户端,无需了解方法内部具体如何工作——这就是“抽象”。对于一个方法来说:其有规约spec、和
2020-06-28 16:31:21 169
原创 软件构造——ADT和OOP-1
软件构造ADT和OOP-1数据类型和类型检验编程语言的数据类型静态和动态数据类型检查可变量与不可变量snapshot相关关于List Set 以及Map的迭代器有用的不可变类型数据类型和类型检验编程语言的数据类型1.关于数据类型和变量 数据类型(type)表示的是变量的集合,并且可以对这种变量进行操作。 变量(Variables)表示特定数据类型定义,可存储满足类型约束的值。 Java中的基本数据类型:int 、boolean等;对象数据类型:String、BigInteger等。静态
2020-06-27 21:47:54 223
原创 HELLO 程序人生
计算机科学与技术学院2019年12月摘 要Hello程序看似简单实现起来却需要大量流程。Hello程序也有着其不平凡的一生,本文以hello.c为例子,讲述在linux系统下从一个c文件至可执行文件,并且经过处理成为一个进程,后又在软硬件支持下运行,直到进程被回收的过程。以此为例,更好的讲述计算机的底层实现,表明程序的一生。关键词:P2P;O2O;linux;计算机系统;(摘要0分,缺...
2019-12-29 14:47:33 521 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人