软件复用程度的级别可以按以下准则来衡量(级别从低到高):
(1)函数:将那些重复或者类似的程序集中起来放在函数里,对外提供参数以利复用,是功能型的重用;
(2)实在类:将若干经常使用的函数集中起来,将函数的参数转化为类的成员变量,自定义构造和销毁函数,是资源型的重用;
(3)抽象类:使用纯虚函数对外提供接口,这些接口仅仅声明了基类的功能,而将实现拖延到子类中去,是强调可变性的资源型重用;
(4)包:将若干耦合度较大的类集中起来,统一地对外提供接口,是一种有机的资源型重用;
(5)模板:将变量的类型通用化,它是一种强调通用性的资源型重用,可以应用在上面四个层次上;
(6)组件:封装了数据和方法的可执行代码,上面五种都属于代码级的复用,而组件属于软件级的重用。