软件构造小结(1)

软件构造知识小结

质量因素

外部质量因素:正确性、健壮性(对异常做出处理)、可拓展性、可复用性、兼容性、性能、可移植性、易用性、功能性、及时性。
内部质量因素:与代码相关,包括可读性和代码复杂性。

软件构造视图三个维度

构建时和运行时、时间点和时间段、代码层和构件层。

版本控制

commit直接到达本地仓库、push到达远程仓库
reset回到workspace , fetch由远程到本地,clone直接到workspace
通过指向文件的指针来标识改变,指针可以多次使用

ADT

构造器、生产器、观察器、变值器
RI,表示独立性:外在使用无需考虑内部实现
防御性副本:返回可变参数的副本
rep,表示不变性:描述合法的表示值
AF,抽象函数:表示空间到抽象空间的映射
理解 R 和 A 是表示不变性和抽象函数的集合本质

静态检查和动态检查

静态检查:类型不匹配、语法错误、函数名错误、参数数目错误、返回值类型错误。
动态检查:非法参数(除0)、数组越界访问、空指针
unmodifiable,只读不可修改。

等价性

观察等价性:对两个对象调用相同操作得到结果相同

==:代表引用等价性,对基本数据型使用
equals:对象等价性,对对象使用,必须重写(否则为引用等价性)
等价的对象必须有相同的hashCode。
可变类型关注行为等价性即可

参数化多态

参数化多态:泛型,不依赖实参类型
非参数化多态:overload,依赖于实参类型

协变和逆变

协变与返回值类型相关,具体的类有具体的返回值类型
子类抛出的异常必须是父类异常的子类型

逆变与参数相关,子类的参数必须相较于父类更抽象

继承和委派

委派发生在object层面,继承发生在class层面
如果只复用小部分方法可以用委派来实现

临时委派,使用其他类为参数,而不保存为域

Behavioral patterns

Strategy Pattern
有多种不同的算法来实现同一个任务,用户自行选择算法
为不同的实现算法构造抽象接口,使用时用户选择具体实例
Template Method
做事情的步骤一样,但具体方法不同
共性的步骤在抽象类内公共实现,差异化的步骤在各个子类中实现
本质上是抽象加继承重写的模式
Iterator Pattern
实现Iterable接口,允许客户端利用这个迭代器进行显式或隐式的迭代遍历
Visitor Pattern
访问者模式实际做的是创建一个使用其他类中数据的外部类
只需要在visitor实现中进行更改,就能修改操作逻辑
将数据和作用于数据上的某种/些特定操作分离开来

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92081 人正在系统学习中

来源:睡不觉

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月11日
下一篇 2022年5月11日

相关推荐