軟件設(shè)計(jì)
一些想法吧
[初探Xerces系列]DTD
摘要: 由于DTD不支持?jǐn)?shù)據(jù)類型,所以必然會(huì)被能表達(dá)更豐富含義的Schema代替。
但是DTD語法簡(jiǎn)單,在多數(shù)場(chǎng)合夠用,Schema看起來貌似不太友好,呵呵。
還是根據(jù)需要自行選擇。
閱讀全文
posted @
2009-06-18 18:22 創(chuàng)建更好的解決方案 閱讀(1130) |
評(píng)論 (0) 編輯
[初探Xerces系列]DOM Lev3 Core的關(guān)鍵特性整理
摘要: 總結(jié)了DOM Lev3 Core的新特性,給人印象深刻的是重命名,自舉,驗(yàn)證內(nèi)存中的文檔和文檔標(biāo)準(zhǔn)化。
文末對(duì)使用Xerces API驗(yàn)證內(nèi)存中的文檔進(jìn)行了示例。
閱讀全文
posted @
2009-06-12 18:28 創(chuàng)建更好的解決方案 閱讀(1511) |
評(píng)論 (0) 編輯
[初探Xerces系列]對(duì)外提供CLI
摘要: 應(yīng)用程序的接口不外乎三種,CLI——命令行接口,API——應(yīng)用編程接口和GUI。
因?yàn)楝F(xiàn)在有大把集成快速開發(fā)功能的IDE可供選擇,因此GUI的實(shí)現(xiàn)變得非常的順手。工具水平提高了,這看起來是理所當(dāng)然的事情。其實(shí)呢?
閱讀全文
posted @
2009-05-20 10:12 創(chuàng)建更好的解決方案 閱讀(1433) |
評(píng)論 (0) 編輯
[初探Xerces系列]目錄結(jié)構(gòu)也可以輔助提高代碼可讀性
摘要: 項(xiàng)目組曾經(jīng)一度有過爭(zhēng)論,認(rèn)為目錄層次過深,跨度過大(我們通常設(shè)置在3層以內(nèi)),會(huì)降低編譯效率。
閱讀全文
posted @
2009-05-19 17:23 創(chuàng)建更好的解決方案 閱讀(1555) |
評(píng)論 (0) 編輯
重構(gòu)故事——Chapter03
摘要: A計(jì)劃1:平臺(tái)版本在v2.1版本基礎(chǔ)上進(jìn)行遷移,逐個(gè)模塊改造,平臺(tái)1.0版本,在業(yè)務(wù)分支3.0版本之前發(fā)布,在3.x版本與其他業(yè)務(wù)版本結(jié)合;
B計(jì)劃1:平臺(tái)版本不再單獨(dú)演進(jìn),將現(xiàn)在的平臺(tái)技術(shù)應(yīng)用到即將發(fā)布的3.0版本中。包括插件結(jié)構(gòu)、動(dòng)態(tài)加載、動(dòng)態(tài)激活,3.0版本中的業(yè)務(wù)模塊一律按照插件規(guī)范開發(fā)。
// ---------------------------------------------------------------
A計(jì)劃2:CCB管理配置文件,規(guī)范插件對(duì)主界面的配置。
B計(jì)劃2:必須為界面配置文件準(zhǔn)備替代方案,防止因?yàn)榕渲梦募p壞造成的程序加載失敗。
閱讀全文
posted @
2008-08-25 16:14 創(chuàng)建更好的解決方案 閱讀(1218) |
評(píng)論 (0) 編輯
重構(gòu)故事——Chapter02
摘要: 很多模塊都需要在工程打開之時(shí),獲取一定的信息,比如工程是新建的還是打開的,臨時(shí)目錄在哪里,工程目錄又在哪里。
工程管理模塊就像個(gè)奶媽,把一系列的信息從XML文件或者從用戶剛剛輸入的信息都進(jìn)來,然后再一個(gè)個(gè)的去NotifyProjectOpen。工程關(guān)閉之時(shí)在挨個(gè)通知他們要關(guān)燈了,NotifyProjectClose。怪不得耦合度高啊,全是被動(dòng)式初始化,能不高嗎?
閱讀全文
posted @
2008-08-14 17:47 創(chuàng)建更好的解決方案 閱讀(1158) |
評(píng)論 (0) 編輯
重構(gòu)故事——Chapter01
摘要: 比較頭痛的是:原來在工程管理器中一系列的通知機(jī)制的修改,神秘的GIS模塊,還有混亂不堪的數(shù)據(jù)庫抽象層。按照Eclipse中對(duì)插件式的描述,這些插件不但作為插頭插在別的插口上,還對(duì)外提供插口。
閱讀全文
posted @
2008-08-07 20:17 創(chuàng)建更好的解決方案 閱讀(1407) |
評(píng)論 (3) 編輯
C++ Builder實(shí)現(xiàn)可配置界面中遇到的問題【2、問題解決】
摘要: 類數(shù)量不變,因?yàn)榻?jīng)過分析,是因?yàn)樵趀xe和dll之間傳遞VCL特有數(shù)據(jù)類型所致。
閱讀全文
posted @
2008-07-16 15:19 創(chuàng)建更好的解決方案 閱讀(1097) |
評(píng)論 (0) 編輯
C++ Builder實(shí)現(xiàn)可配置界面中遇到的問題【1、問題出現(xiàn)】
摘要: 提供一個(gè)可配置的界面,供DLL們來注冊(cè)菜單、按鈕這些界面元素,界面元素所需的資源由DLL提供。DLL們需要外顯的方法,綁定到自己注冊(cè)的界面元素上。
閱讀全文
posted @
2008-07-15 12:11 創(chuàng)建更好的解決方案 閱讀(1203) |
評(píng)論 (0) 編輯
溫度計(jì)的寓言
摘要: 故事是這樣的:有一個(gè)由5個(gè)年輕人合伙建立的小軟件公司YoungSoft co. ltd,成立不久,業(yè)務(wù)不多,剛剛實(shí)現(xiàn)收支平衡。
一場(chǎng)突發(fā)的流行性感冒,使得市面上體溫計(jì)奇缺,價(jià)格也是水漲船高。一個(gè)農(nóng)民企業(yè)家投資50w創(chuàng)建的溫度計(jì)公司Good Metor,一直慘淡經(jīng)營,這么好的機(jī)會(huì),自然不會(huì)放過。市場(chǎng)上價(jià)格最高的是一種能記錄一段時(shí)間內(nèi)人體溫度變化曲線,并判斷使用者是否患上這種可怕的流感的智能體溫計(jì)Smart Thermometer。
閱讀全文
posted @
2008-03-14 20:49 創(chuàng)建更好的解決方案 閱讀(570) |
評(píng)論 (0) 編輯
好文如風(fēng),拂去數(shù)朵疑云——Designing Qt-Style C++ APIs by Matthias Ettrich
摘要: 評(píng)價(jià)一片文章是否爛的標(biāo)準(zhǔn)是:你是否看過之后感覺不痛不癢。
一片爛文章的來由通常有兩條,一是文章的爛是客觀存在的,另一個(gè)就是看文章的人太麻木,以至于針尖戳背亦難覺痛癢。
這篇文章,釋開了我心頭的數(shù)朵疑云,漂浮如下。
閱讀全文
posted @
2008-03-03 07:59 創(chuàng)建更好的解決方案 閱讀(2001) |
評(píng)論 (6) 編輯
我是笨人——讀Rob Pike的《Notes on C Programming 》(附全文鏈接)
摘要: Ken Thompson —— Unix 最初版本的設(shè)計(jì)者和實(shí)現(xiàn)者,禪宗偈語般地對(duì) Pike 的原則4 作了強(qiáng)調(diào):拿不準(zhǔn)就窮舉
花哨的算法比簡(jiǎn)單算法更容易出 bug 、更難實(shí)現(xiàn)。盡量使用簡(jiǎn)單的算法配合簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。
只要掌握了數(shù)據(jù)結(jié)構(gòu)中的四大法寶,就可以包打天下,他們是:array 、linked list 、hash table、binary tree 。這四大法寶可不是各自為戰(zhàn)的,靈活結(jié)合才能游刃有余。比如,一個(gè)用hash table組織的symbol table,其中是一個(gè)個(gè)由字符型array構(gòu)成的linked list。
閱讀全文
posted @
2008-02-29 08:39 創(chuàng)建更好的解決方案 閱讀(4484) |
評(píng)論 (4) 編輯
我和充斥臭味代碼的戰(zhàn)爭(zhēng)
摘要: 從去年8月份到現(xiàn)在,我一直在從事一個(gè)261k行代碼的項(xiàng)目(不含空行和注釋)。
其中由我本人編寫的代碼10.9k行(不含空行和注釋,我本人所寫的注釋大約1/8有效代碼行,屬于比較少的)。
TDD的老爹Kent說如果已經(jīng)有可以運(yùn)行的代碼,這時(shí)候是不適合引入TDD的。對(duì)已經(jīng)可以運(yùn)行的261k行代碼重新寫測(cè)試用例,怕是要出人命的。我想Kent老爹說的是老代碼從新TDD,言之有理,對(duì)于一個(gè)成年人你來T他的小DD,當(dāng)然就要踢出大事情來。但是對(duì)于一些新模塊,或者說是老模塊需要徹底修改(幾乎全部拋棄)的時(shí)候,年輕人嗎,從小開始T他的小DD,慢慢培養(yǎng),說不定能T出一個(gè)會(huì)鐵襠功的模塊來,到時(shí)候豈不是天下無敵了。
閱讀全文
posted @
2008-01-12 13:00 創(chuàng)建更好的解決方案 閱讀(2239) |
評(píng)論 (26) 編輯