前一段看完電視劇《裝臺(tái)》,又趕緊去讀了一遍小說(shuō)。從中體會(huì)到很多“活著”的意義。意猶未盡,突然有一個(gè)想法。趁著春節(jié)放假,到作者在劇情中提到的各個(gè)地方,實(shí)際走一趟。完成一篇讀后感...
前一段看完電視劇《裝臺(tái)》,又趕緊去讀了一遍小說(shuō)。從中體會(huì)到很多“活著”的意義。意猶未盡,突然有一個(gè)想法。趁著春節(jié)放假,到作者在劇情中提到的各個(gè)地方,實(shí)際走一趟。完成一篇讀后感...
關(guān)于ROLE這些宏定義的實(shí)現(xiàn),得益于C++的dynamic_cast。有機(jī)會(huì)展開(kāi)聊一聊,如何借助語(yǔ)言特性更好地完成軟件設(shè)計(jì)
解讀《小類、大對(duì)象》sweet tip: 本文的一些背景知識(shí)來(lái)源于袁英杰的《小類,大對(duì)象:C++》,建議先閱讀《小類,大對(duì)象:C++》。 2015年,初次接觸小類、大對(duì)象的時(shí)候,還不知道其背后的...
背景: 假設(shè)有一個(gè)開(kāi)源/第三方的軟件模塊ModuleA,我們要基于其上做特性的擴(kuò)展。我見(jiàn)過(guò)的較多的做法是二者的代碼實(shí)現(xiàn)揉在一起,這樣會(huì)導(dǎo)致一個(gè)問(wèn)題。當(dāng)ModuleA做升級(jí)或者...
架構(gòu)的定義 軟件架構(gòu),是在交付基本功能的基礎(chǔ)上,能夠使得系統(tǒng)易于開(kāi)發(fā)、部署、運(yùn)行和維護(hù),用于支撐軟件系統(tǒng)的生命周期。在架構(gòu)設(shè)計(jì)中要盡可能長(zhǎng)時(shí)間地保留盡可能多的可選項(xiàng)。 軟件架...
1 并發(fā)和競(jìng)態(tài)產(chǎn)生的原因 并發(fā)是操作系統(tǒng)編程中的核心問(wèn)題之一。我們必須要能解決對(duì)共享資源的并發(fā)訪問(wèn)。 并發(fā)產(chǎn)生資源競(jìng)爭(zhēng)的情況如下: 中斷和進(jìn)程之間 不同優(yōu)先級(jí)的進(jìn)程之間 不同...
1 基本概念 bus,device,driver是經(jīng)典的linux的驅(qū)動(dòng)抽象模型中的三個(gè)元素。我們先從概念角度,講下他們分別長(zhǎng)什么樣。當(dāng)然,理解這些,讀者需要具備一些linu...
宏因?yàn)槠涓鞣N副作用而備受詬病,就像goto一樣,有些產(chǎn)品談宏色變。但是語(yǔ)言特性本身并無(wú)善惡之分,其善惡在于使用者。有時(shí)候使用某些語(yǔ)言特性,能夠非常好的解決一些編程中的難題。本...
深模塊/淺模塊 作者使用深模塊和淺模塊的概念來(lái)形容模塊封裝的不同程度。 深模塊:即暴露給用戶極少的必要接口,其它的實(shí)現(xiàn)細(xì)節(jié)盡量封裝在模塊內(nèi)部/接口背后,這樣便于用戶使用和模塊...
軟件中存在本質(zhì)復(fù)雜度和偶發(fā)復(fù)雜度,即對(duì)應(yīng)軟件中易變部分和穩(wěn)定部分。對(duì)于本質(zhì)復(fù)雜度,指的就是業(yè)務(wù)邏輯,這部分是無(wú)論如何消除不掉的,偶發(fā)復(fù)雜度指的是實(shí)現(xiàn)業(yè)務(wù)邏輯的一些實(shí)現(xiàn)框架、實(shí)...
軟件設(shè)計(jì)哲學(xué) 這本書(shū)中提到類不能太小太多,太多的類屬于淺模塊。
要區(qū)分下和這里提到的小類的區(qū)別,書(shū)中指的小類是接口類,而本文指的小類屬于內(nèi)部類(接口由那個(gè)大的對(duì)象對(duì)外提供)。
解讀《小類、大對(duì)象》sweet tip: 本文的一些背景知識(shí)來(lái)源于袁英杰的《小類,大對(duì)象:C++》,建議先閱讀《小類,大對(duì)象:C++》。 2015年,初次接觸小類、大對(duì)象的時(shí)候,還不知道其背后的...
作者在《小類、大對(duì)象:C++》中提到這種實(shí)現(xiàn)方式尤其適用于 性能要求高,內(nèi)存緊張的嵌入式系統(tǒng),我個(gè)人理解,嵌入式系統(tǒng)之外的場(chǎng)景,小類大大對(duì)象也應(yīng)該是很好用的一種方法。難道作者心中還有更好的方法選項(xiàng)?例如traits技術(shù)和其它mixin技術(shù)?
解讀《小類、大對(duì)象》sweet tip: 本文的一些背景知識(shí)來(lái)源于袁英杰的《小類,大對(duì)象:C++》,建議先閱讀《小類,大對(duì)象:C++》。 2015年,初次接觸小類、大對(duì)象的時(shí)候,還不知道其背后的...