java的可维护性包括_《java与模式》软件的可维护性和可复用性

本文探讨了导致软件可维护性降低的四个原因,包括僵硬性、脆弱性、复用率低和黏度过高,并提出了对应的好系统特性:可扩展性、灵活性和可插入性。同时,强调了软件复用的重要性,如提高生产效率、软件质量和维护性。文章还列举了传统复用形式和五个提高系统可维护性和可复用性的设计原则,包括‘开-闭’原则、里氏替代原则等。
摘要由CSDN通过智能技术生成

ξ 3.1 软件系统的可维护性

☆ 导致一个软件设计的可维护性较低,也就是说会随着性能要求的变化二“腐烂”的真正原因有四个:

① 过于僵硬

加入一个新性能,不仅仅意味着建造一个独立的模块,而且因为这个新性能会波及很多其他的模块,最好变成跨越几个模块的改动。

② 过于脆弱

对一个地方的修改,往往会导致看上去没什么关系的另外一个地方发生故障。尽管在修改之前,设计师会尽力预测可能的故障点,当是修改完成之前,系统的原始设计师们甚至都无法预测到可能会波及的地方。

③ 复用率低

每当程序员发现一段代码、函数、模块所做的事情是可以在新的模块、或者新系统中使用的是,他们总是发现,这些已有的代码依赖于一堆其他的东西,以至于很难将它们分开。最好他们发现最好的办法就是不去“碰”这些已有的东西,而是重新写自己的代码。他们可能会使用源代码拷贝的办法,以最原始的复用方式,节省一些时间。

④ 黏度过高

有的时候,一个改动可以以保存原始设计意图和原始设计框架的方式进行,也可以以破坏原始意图和框架的方式进行。一个系统设计,如果总是使得第二种办法比第一种办法容易,就叫黏度过高。一个黏度过高的系统会诱使维护它的程序员采取错误的维护方案,并惩罚采取正确维护方案的程序员。

☆ 一个好的系统俄军应该有如下的性质:

① 可扩展性

新的性能可以很容易地加入到系统中去,就是可扩展性。这就是系统“过于僵硬”的属性的方面。

② 灵活性

可以允许代码修改平稳地发生,而不会波及到很多其他的模块,这就是灵活性。灵活性其实就是“过于脆弱”的属性的方面。

③ 可插入性

可以很容易地将一个类抽出去,同时将另外一个有同样接口的类加入进来,这就是可插入性。其实,这就是“黏度过高”的方面。

ξ 3.2 系统的可复用性

☆ 软件复用的好处

第一,较高的生产效率;

第二,较高的软件质量;

第三,恰当使用复用可以改善系统的可维护性。

☆ 传统的复用形式

① 代码的剪贴复用;

② 算法的复用;

③ 数据结构的复用。

☆ 提高系统可维护性和可复用性的设计原则

① “开-闭”原则(Open-Closed Principle,或者OCP);

② 里氏替代原则(Liskov Substitution Principle,或者LSP);

③ 依赖倒转原则(Dependency Inversion Principle,或者DIP);

④ 接口隔离原则(Interface Segregation Principle,或者ISP);

⑤ 组合/聚合复用原则(Composition/Aggregation Principle,或者CARP);

⑥ 迪米特法则(Law of Demeter,或者LoD);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值