類
類的組織
- 類應(yīng)該從一組變量列表開(kāi)始。如果有公共靜態(tài)常量,應(yīng)該先出現(xiàn)。然后是私有靜態(tài)變量,以及私有實(shí)體變量。很少會(huì)有公共變量(盡量可能公共變量的數(shù)量)。
- 公共函數(shù)應(yīng)跟在變量列表之后,最后再是私有函數(shù)。
類應(yīng)該短小
- 類名應(yīng)該精確。類的名稱應(yīng)該描述其全責(zé)。
- 一個(gè)類應(yīng)該只有一個(gè)全責(zé)。
- 內(nèi)聚。類應(yīng)該只有少量實(shí)體變量。類中的每個(gè)方法都應(yīng)該操作一個(gè)或多個(gè)這樣的變量。高的內(nèi)聚性,意味著類中的方法和變量互相依賴、互相結(jié)合成一個(gè)邏輯整體。
- 有時(shí)候,隨著對(duì)方法的擴(kuò)充,實(shí)體變量的數(shù)量開(kāi)始上升,往往這意味著至少有一個(gè)類要從大類里面掙扎出來(lái)。重構(gòu)代碼后,實(shí)體變量就分給幾個(gè)不同的類了。
修進(jìn)類的技巧
我們知道編寫(xiě)一個(gè)類不是一觸而就的,而是通過(guò)了無(wú)數(shù)次修進(jìn)的。而系統(tǒng)的每處修改(添加功能,改變邏輯方法等)都讓我們冒著系統(tǒng)會(huì)出現(xiàn)問(wèn)題的風(fēng)險(xiǎn)。這時(shí)候我們要對(duì)類加以修進(jìn)(組織和重構(gòu)),以降低修改所面臨的風(fēng)險(xiǎn)。
- 當(dāng)一個(gè)類龐雜巨大需要重構(gòu)的時(shí)候,將一個(gè)類分隔為幾個(gè)類,用明確的功能權(quán)責(zé)來(lái)劃分。
- 當(dāng)有新特性要添加時(shí),可以寫(xiě)一個(gè)新類,如果能達(dá)到新類只用了原有類的極少數(shù)(一個(gè)或兩個(gè))方法時(shí),就是低耦合度。原有類沒(méi)有被干擾,新類也相當(dāng)簡(jiǎn)潔(只服務(wù)于某個(gè)新特性)。