关于可复用性的理解

本文探讨了软件复用性的概念及重要性,介绍了基于复用编程的方法,包括面向复用编程和基于复用编程的不同之处。同时分析了复用的代价、评判标准以及不同层级的复用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#可复用性

  1. 什么是软件可复用性?
    硬件,CPU,显卡可复用性
    软件复用就是用已存在的软件模块执行更新软件。
    面向复用编程:开发出可复用软件。
    基于复用编程:利用已有的可复用软件搭建应用系统。
  2. 基于复用编程:分析相似性+差异性。越抽象的越容易复用。选取,适配,修改,扩展。往往无法拿来就用,需要适配,可靠性建立在外部基础上。
  3. 为什么复用?
    降低成本,开发时间,经过充分测试,可靠,稳定,标准化,在不同应用中保持一致。但需要代价,代价也高(抽象)。
  4. 开发可复用的软件:高成本,高适应,性能差,针对性差。
  5. 使用已有软件进行开发:往往无法拿来就用,需要适配。
  6. 如何评判可复用性?
    复用机会有多频繁?复用场合有多少?复用代价有多大?
    小,简单。与标准兼容。灵活可变。可扩展。泛型,参数化。模块化。变化的局部性。稳定。丰富的文档和帮助。
  7. 可复用层级:最主要的复用是在代码层面,还有其他层面。软件构造过程中的任何实体都可能被复用。(需求,设计,规约,数据,测试用例,文档)
  8. 复用类型:
    (1) 白盒复用:源代码可见,可修改和扩展。(一般是继承,继承树复杂,程序员不方便)
    (2) 黑盒复用:源代码不可见,不能修改。(通过API接口使用,无法修改源代码,一般是调用类,复用效率低)
  9. 代码层级的复用:复制粘贴不推荐。
    模块层级的复用:基于类的复用。通过接口将功能提供给用户使用。
    类的复用:继承(白盒),委托(黑盒,显式委托常用,隐式委托)
    库文件层级的复用:库文件(想选什么库文件就选什么)。
    框架层级的复用:框架(主要部分写好,可定制的部分由用户完成)。一组具体类,抽象类及其连接关系。
    白盒框架:通过代码层面的继承进行框架扩展。
    黑盒框架:通过实现特定接口/委托进行框架扩展。
    分析API的好坏。
  10. 外部观察可复用性:类型可变(子类型,泛型),功能分组,实现可变(ADT有多种 不同实现),表示独立,共性抽取。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值