软件复用是指利用已有的软件产品、设计、代码、文档等来开发新的软件系统的过程。它旨在提高软件开发效率和质量,缩减软件开发和维护的费用。软件复用的方法包括:
代码复用:
将已有的代码片段直接用于新的软件开发中,或者将多个代码片段组合成一个新的模块。
组件复用:
将已有的软件组件(如COM组件、JavaBean组件等)用于新的软件开发中。
框架复用:
将已有的软件框架(如MVC框架、RPC框架等)用于新的软件开发中。
类库复用:
将已有的类库(如标准库、第三方库等)用于新的软件开发中。
设计模式复用:
将已有的设计模式(如工厂模式、单例模式等)用于新的软件开发中。
软件复用的层次包括:
代码层面:包括实现的方法、对变量的定义等。
模块层面:最基本的是类与接口。
运行库层面:各种API的设计与实现。
架构层面:使用各种框架,例如:springboot等现行的流行框架。
软件复用的基本原则包括:
必须有可以复用的对象:
即存在可以被复用的软件部件或知识。
所复用的对象必须是有用的:
复用的对象应对新的软件系统有价值。
复用者需要知道如何去使用被复用的对象:
复用者应能理解并应用复用的对象。
软件复用的过程包括:
可复用软件(构件)的开发:
开发可复用的软件部件或构件。
基于可复用软件(构件)的应用系统构造:
将开发好的构件集成到新的软件系统中。
软件复用的形式大体可分为垂直式复用和水平式复用:
垂直式复用:复用某一层次的全部内容,如代码层、模块层等。
水平式复用:复用不同层次间的通用构件,如将框架层复用到应用层。
通过有效的软件复用,可以显著提高软件的生产力和质量,同时降低开发成本和维护费用。