????? 軟件復(fù)用程度的級(jí)別可以按以下準(zhǔn)則來衡量(級(jí)別從低到高):
(1)函數(shù):將那些重復(fù)或者類似的程序集中起來放在函數(shù)里,對(duì)外提供參數(shù)以利復(fù)用,是功能型的重用;
(2)實(shí)在類:將若干經(jīng)常使用的函數(shù)集中起來,將函數(shù)的參數(shù)轉(zhuǎn)化為類的成員變量,自定義構(gòu)造和銷毀函數(shù),是資源型的重用;
(3)抽象類:使用純虛函數(shù)對(duì)外提供接口,這些接口僅僅聲明了基類的功能,而將實(shí)現(xiàn)拖延到子類中去,是強(qiáng)調(diào)可變性的資源型重用;
(4)包:將若干耦合度較大的類集中起來,統(tǒng)一地對(duì)外提供接口,是一種有機(jī)的資源型重用;
(5)模板:將變量的類型通用化,它是一種強(qiáng)調(diào)通用性的資源型重用,可以應(yīng)用在上面四個(gè)層次上;
(6)組件:封裝了數(shù)據(jù)和方法的可執(zhí)行代碼,上面五種都屬于代碼級(jí)的復(fù)用,而組件屬于軟件級(jí)的重用。