影響軟件開發(fā)性能的因素,宏觀上可分為三個(gè)大的方面
1、縮短對(duì)象存取時(shí)間:若系統(tǒng)在執(zhí)行某型功能時(shí),需要頻繁地、大量地訪問外存儲(chǔ)空間,則系統(tǒng)響應(yīng)時(shí)間就會(huì)成為瓶頸。在面向?qū)ο笤O(shè)計(jì)方法中需要在內(nèi)存空間中設(shè)計(jì)一個(gè)緩存空間,使經(jīng)常被使用的數(shù)據(jù)有較多機(jī)會(huì)存儲(chǔ)于緩存空間當(dāng)中
2、調(diào)整對(duì)象分布:如果不同處理器之間的數(shù)據(jù)傳輸成為影響性能的主要瓶頸,則應(yīng)重新審查對(duì)象在不同處理器上的分布問題。調(diào)整的目標(biāo),一是減少不同處理器之間數(shù)據(jù)的傳輸量;二是縮短數(shù)據(jù)傳輸?shù)穆窂健?
3、增加屬性減少重復(fù)計(jì)算:如果對(duì)象的一個(gè)服務(wù) 經(jīng)常進(jìn)行某種計(jì)算,那么增加一些屬性,用以記錄計(jì)算結(jié)果,避免重復(fù)計(jì)算量。
4、合并消息傳遞頻繁的類:對(duì)象的封裝性導(dǎo)致對(duì)象的屬性不能被另一個(gè)對(duì)象的服務(wù)直接訪問,只能通過消息傳遞來完成。若存在這樣一些消息傳遞頻繁的類,就可以采用合并方法將其合并為一個(gè)類。
5、降低算法的復(fù)雜性。
6、將復(fù)雜對(duì)象化為聚合關(guān)系:如果一個(gè)類描速了一個(gè)構(gòu)造比較復(fù)雜的事物,勢(shì)必在該類中存在多個(gè)服務(wù)。這些服務(wù)之間可能存在著千絲萬縷的關(guān)系,因此可以將這一個(gè)復(fù)雜類拆分成由兩個(gè)或兩個(gè)以上的類通過聚合關(guān)系形成的新類。