软件复用的几种方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件复⽤的⼏种⽅式
软件复⽤的好处有很多
⼀、提⾼⼯作效率
这条⾃不必说,⽐如在项⽬A中你写⼀个,A完⼯后启动了项⽬B,在B中就可以直接复⽤项⽬A的模块了。
⼀个可复⽤的软件可以为将来节省费⽤,被服⽤的频率越⾼,组件的初始开发成本就越低。
⼆、提⾼软件质量
可复⽤的软件总⽐不能复⽤的有更多的质量保障。
因为可复⽤的软件在不断的复⽤过程中把⼀些bug,缺陷都很快的排除了。
因此可复⽤的软件⼀定是利于系统的可维护性的。
按抽象程度的⾼低,可以划分为如下的复⽤级别:
代码的剪贴复制
利⽤编辑器(IDE)可以很⽅便的做到减少抄写代码的⼈⼒成本。
这可能是⼊门级程序员习惯的,⾃发的复⽤软件的形式。
把⼀个写好的⼯具函数⾃发的拷贝到另⼀个功能或项⽬中。
这种⽅式有着明显的缺点就是他造成很多重复冗余的代码。
尤其在Web前端开发中,JavaScript 资源的量⼤⼩影响着客户端下载速度。
好⼀点的复⽤⽅式可以采⽤。
算法的复⽤
各种算法⽐如排序都已经得到了⼤量的研究。
⼏乎不需要你重新去写⾃⼰的算法,各种语⾔通常也实现了这些常⽤算法。
因此你只需要直接复⽤。
数据结构的复⽤
与算法⼀样,类似数组、队列、栈、列表等得到了透彻的研究,只需要直接复⽤。
以上是传统的复⽤种类,下⾯是更⾼级的复⽤⽅式
设计的复⽤
设计结果⽐源程序的抽象级别更⾼,因此它的复⽤受实现环境的影响较少,从⽽使可复⽤构件被复⽤的机会更多,并且所需的修改更少。
这种复⽤有三种途径,第⼀种途径是从现有系统的设计结果中提取⼀些可复⽤的设计构件,并把这些构件应⽤于新系统的设计;第⼆种途径是把⼀个现有系统的全部设计⽂档在新的软硬件平台上重新实现,也就是把⼀个设计运⽤于多个具体的实现;第三种途径是独⽴于任何具体的应⽤,有计划地开发⼀些可复⽤的设计构件。
分析的复⽤
这是⽐设计结果更⾼级别的复⽤,可复⽤的分析构件是针对问题域的某些事物或某些问题的抽象程度更⾼的解法,受设计技术及实现条件的影响很少,所以可复⽤的机会更⼤。
复⽤的途径也有三种,即从现有系统的分析结果中提取可复⽤构件⽤于新系统的分析;⽤⼀份完整的分析⽂档作输⼊产⽣针对不同软硬件平台和其它实现条件的多项设计;独⽴于具体应⽤,专门开发⼀些可复⽤的分析构件。