數(shù)據(jù)抽象在面對(duì)對(duì)象的設(shè)計(jì)中,我們更希望不暴露數(shù)據(jù)細(xì)節(jié),更希望以抽象形態(tài)表述數(shù)據(jù)。對(duì)外提供的接口不該暴露對(duì)象或者數(shù)據(jù)的細(xì)節(jié),通過(guò)抽象的函數(shù)描述來(lái)實(shí)...
注釋的作用是彌補(bǔ)我們?cè)谟么a表達(dá)意圖時(shí)遭受的失敗 注釋就是一種失敗,用代碼來(lái)表示意圖才是真正需要的。 注釋不能美化糟糕的代碼寫注釋的時(shí)間,不如美...
1. 函數(shù)要短小if,else,while等語(yǔ)句等,其中的代碼塊應(yīng)該只有一行:一個(gè)調(diào)用函數(shù)。該函數(shù)的名字需要有較強(qiáng)的說(shuō)明性,從而增加了文檔上的價(jià)...
總結(jié): 能通過(guò)所以的測(cè)試 沒(méi)有重復(fù)的代碼 體現(xiàn)系統(tǒng)中所有的設(shè)計(jì)理念 包括盡量少的實(shí)體,比如類,方法,函數(shù)等。
1. 命名要名副其實(shí)命名要體現(xiàn)這個(gè)東西的本意,不需要注釋來(lái)補(bǔ)充 2. 避免誤導(dǎo)命名要避免一些大家常識(shí)中的名字和原意沖突的情況,包括0,o,I(i...
場(chǎng)景 一臺(tái)機(jī)器有20個(gè)對(duì)外的TCP/IP端口,當(dāng)請(qǐng)求超過(guò)20個(gè)時(shí),多余的請(qǐng)求就會(huì)等待,直到有空缺的端口出現(xiàn)。當(dāng)一個(gè)端口出現(xiàn)故障的時(shí)候,自動(dòng)切換到...
場(chǎng)景 王大叔的大伯開了一家店,這家店在打印發(fā)票的時(shí)候,有的時(shí)候要打印個(gè)體名,有的時(shí)候要打印單位名,有的時(shí)候要時(shí)間。因?yàn)檫@個(gè)功能還在增加,所以王大...
場(chǎng)景 王爺爺又接收到了新的需求,新的需求要求在選擇系統(tǒng)配置的同時(shí),還要選擇IO配置,網(wǎng)絡(luò)配置。 總結(jié) 定義:為了創(chuàng)建一組相關(guān)或者相互依賴的對(duì)象提...
場(chǎng)景 一個(gè)機(jī)器有三種系統(tǒng)配置的類型,王大爺想設(shè)計(jì)一個(gè)計(jì)算機(jī)系統(tǒng),用一個(gè)程序根據(jù)CPU和內(nèi)存的情況來(lái)決定使用哪種系統(tǒng)配置。 總結(jié) 意圖:定義一個(gè)創(chuàng)...