前一段看完電視劇《裝臺(tái)》,又趕緊去讀了一遍小說。從中體會(huì)到很多“活著”的意義。意猶未盡,突然有一個(gè)想法。趁著春節(jié)放假,到作者在劇情中提到的各個(gè)地...
背景: 假設(shè)有一個(gè)開源/第三方的軟件模塊ModuleA,我們要基于其上做特性的擴(kuò)展。我見過的較多的做法是二者的代碼實(shí)現(xiàn)揉在一起,這樣會(huì)導(dǎo)致一個(gè)問...
函數(shù) 函數(shù)參數(shù):最好沒有,一個(gè)次之,兩個(gè)再次。三個(gè)以上不可取。 原因在于,多個(gè)參數(shù)不便于函數(shù)測(cè)試,并且多個(gè)參數(shù)影響閱讀。 返回值盡量從返回值輸出...
架構(gòu)的定義 軟件架構(gòu),是在交付基本功能的基礎(chǔ)上,能夠使得系統(tǒng)易于開發(fā)、部署、運(yùn)行和維護(hù),用于支撐軟件系統(tǒng)的生命周期。在架構(gòu)設(shè)計(jì)中要盡可能長(zhǎng)時(shí)間地...
1 并發(fā)和競(jìng)態(tài)產(chǎn)生的原因 并發(fā)是操作系統(tǒng)編程中的核心問題之一。我們必須要能解決對(duì)共享資源的并發(fā)訪問。 并發(fā)產(chǎn)生資源競(jìng)爭(zhēng)的情況如下: 中斷和進(jìn)程之...
1 基本概念 bus,device,driver是經(jīng)典的linux的驅(qū)動(dòng)抽象模型中的三個(gè)元素。我們先從概念角度,講下他們分別長(zhǎng)什么樣。當(dāng)然,理解...
宏因?yàn)槠涓鞣N副作用而備受詬病,就像goto一樣,有些產(chǎn)品談宏色變。但是語(yǔ)言特性本身并無善惡之分,其善惡在于使用者。有時(shí)候使用某些語(yǔ)言特性,能夠非...
最早的4+1視圖由Philippe Kruchten于1995年提出,雖然歷經(jīng)26年的時(shí)間,中間使用過程中也被不斷豐富,但是今天回頭看最初的版本...
深模塊/淺模塊 作者使用深模塊和淺模塊的概念來形容模塊封裝的不同程度。 深模塊:即暴露給用戶極少的必要接口,其它的實(shí)現(xiàn)細(xì)節(jié)盡量封裝在模塊內(nèi)部/接...