【Blog 5】软件构造落幕,计算人生启程

经历了7周的学习,软件构造课落下帷幕。但我知道,这对我而言,才只是一个开始。

最后几章介绍面向可复用性、可维护性、正确性与健壮性的软件构造的技术、过程等等。看似是不同的角度,其实内部联系密切。尤其是关于继承、委托、SOLID原则等有关知识,都是贯穿始终的。

1 复用由小及大可以分为源代码、模块、库、系统四个级别。

源代码级别的复用需要对代码充分理解。

模块级别的复用主要是类/接口的复用,将类添加进classpath或者通过继承、委托的方式使用其它类中的方法。子类型要满足Liskov替换原则,返回值和异常类型应协变,参数类型应逆变。委派相对于继承来讲,可以仅复用一小部分方法,从而避免大量无用方法。

2 可维护性主要包括纠错性、适应性、完善性、预防性。可以通过圈复杂度CC,代码行数,可维护性指数MI,继承的层次数,类之间的耦合度,单元测试的覆盖度来评估。

模块化能够保证良好的可维护性,高内聚低耦合(模块内联系紧密,模块间联系减弱)。

SOLID原则包括SRP单一责任原则(不应有多个原因让ADT变化),OCP开放-封闭原则(模块行为可扩展,但模块自身代码不可修改),LSPLiscov替换原则(子类型可替换基类型),ISP接口聚合原则(只提供必需接口),DIP依赖转置原则(具体依赖于抽象)。

3 面向可复用性和可维护性的设计模式分为三种:创建型模式,结构型模式,行为类模式。

工厂方法模式factory属于创建型模式;适配器模式adapter和装饰器模式decorater属于结构型模式;而策略模式strategy,模板模式template method,迭代器iteratorvisitor属于行为类模式。

4 面向正确性与健壮性德尔软件构造将视野集中在了处理异常的问题上。exceptions分为checked和unchecked,前者可以由编译器捕获,可恢复,继承于Exception,而后者包括的Errors和Runtime Exception继承于RuntimeException。

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

来源:Joker·Yang

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

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

相关推荐