• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            技術(shù),瞎侃,健康,休閑……

            mahu@cppblog 人類(lèi)的全部才能無(wú)非是時(shí)間和耐心的混合物
            posts - 11, comments - 13, trackbacks - 0, articles - 12
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            zz如何閱讀別人代碼 9

            Posted on 2006-06-26 22:52 mahudu@cppblog 閱讀(144) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Programming
            ???
            ++++++++++++++

            第九章:?系統(tǒng)構(gòu)架

            ++++++++++++++


            182.一個(gè)系統(tǒng)可以(在重大的系統(tǒng)中也確實(shí)如此)同時(shí)出多種不同的構(gòu)架類(lèi)型.?以不同的
            方式檢查同一系統(tǒng)|分析系統(tǒng)的不同部分|或使用不同級(jí)

            別的分解,?都有可能發(fā)現(xiàn)不同的構(gòu)架類(lèi)型.

            183.協(xié)同式的應(yīng)用程序,?或者需要協(xié)同訪問(wèn)共享信息或資源的半自治進(jìn)程,?一般會(huì)采用
            集中式儲(chǔ)存庫(kù)構(gòu)架.

            184.黑板系統(tǒng)使用集中式的儲(chǔ)存庫(kù),?存儲(chǔ)非結(jié)構(gòu)化的鍵/值對(duì),?作為大量不同代碼元件之
            間的通信集線器.

            185.當(dāng)處理過(guò)程可以建模|設(shè)計(jì)和實(shí)現(xiàn)成一系列的數(shù)據(jù)變換時(shí),?常常會(huì)使用數(shù)據(jù)流(或管
            道—過(guò)濾器)構(gòu)架.

            186.在批量進(jìn)行自動(dòng)數(shù)據(jù)處理的環(huán)境中,?經(jīng)常會(huì)采用數(shù)據(jù)流構(gòu)架,?在對(duì)數(shù)據(jù)工具提供大
            量支持的平臺(tái)上尤其如此.

            187.數(shù)據(jù)流構(gòu)架的一個(gè)明顯征兆是:?程序中使用臨時(shí)文件或流水線(pipeline)在不同進(jìn)
            程間進(jìn)行通信.

            188.使用圖示來(lái)建模面向?qū)ο髽?gòu)架中類(lèi)的關(guān)系.

            189.可以將源代碼輸入到建模工具中,?逆向推導(dǎo)出系統(tǒng)的構(gòu)架.

            190.擁有大量同級(jí)子系統(tǒng)的系統(tǒng),?常常按照分層構(gòu)架進(jìn)行組織.

            191.分層構(gòu)架一般通過(guò)堆疊擁有標(biāo)準(zhǔn)化接口的軟件組件來(lái)實(shí)現(xiàn).

            192.系統(tǒng)中每個(gè)層可以將下面的層看作抽象實(shí)體,?并且(只要該層滿(mǎn)足它的需求說(shuō)明)不
            關(guān)心上面的層如何使用它.

            193.層的接口既可以是支持特定概念的互補(bǔ)函數(shù)族,?也可以是一系列支持同一抽象接口
            不同底層實(shí)現(xiàn)的可互換函數(shù).

            194.用C語(yǔ)言實(shí)現(xiàn)的系統(tǒng),?常常用函數(shù)指針的數(shù)組,?表達(dá)層接口的多路復(fù)用操作.

            195.用面向?qū)ο蟮恼Z(yǔ)言實(shí)現(xiàn)的系統(tǒng),?使用虛方法調(diào)用直接表達(dá)對(duì)層接口的多嘴復(fù)用操作
            .

            196.系統(tǒng)可以使用不同的|獨(dú)特的層次分解模型跨各種坐標(biāo)軸進(jìn)行組織.

            197.使用程序切片技術(shù),?可以將程序中的數(shù)據(jù)和控制之間依賴(lài)關(guān)系集中到一起.

            198.在并發(fā)系統(tǒng)中,?一個(gè)單獨(dú)的系統(tǒng)組件起到集中式管理器的作用,?負(fù)責(zé)啟動(dòng)|停止和協(xié)
            調(diào)其他系統(tǒng)進(jìn)程和任務(wù)的執(zhí)行.

            199.許多現(xiàn)實(shí)的系統(tǒng)都會(huì)博采眾家之長(zhǎng).?當(dāng)處理此類(lèi)系統(tǒng)時(shí),?不要徒勞地尋找無(wú)所不包
            的構(gòu)架圖;?應(yīng)該將不同構(gòu)架風(fēng)格作為獨(dú)立但相關(guān)的實(shí)體

            來(lái)進(jìn)行定位|識(shí)別并了解.

            200.狀態(tài)變遷圖常常有助于理清狀態(tài)機(jī)的動(dòng)作.

            201.在處理大量的代碼時(shí),?了解將代碼分解成單獨(dú)單元的機(jī)制極為重要.

            202.大多數(shù)情況下,?模塊的物理邊界是單個(gè)文件|組織到一個(gè)目錄中的多個(gè)文件或擁有統(tǒng)
            一前綴的文件的集合.

            203.C中的模塊,?由提供模塊公開(kāi)接口的頭文件和提供對(duì)應(yīng)實(shí)現(xiàn)的源文件組成.

            204.對(duì)象的構(gòu)造函數(shù)經(jīng)常用來(lái)分配與對(duì)象相關(guān)的資源,?并初始化對(duì)象的狀態(tài).?函數(shù)一般
            用來(lái)釋放對(duì)象在生命期中占用的資源.

            205.對(duì)象方法經(jīng)常使用類(lèi)字段來(lái)存儲(chǔ)控制所有方法運(yùn)作的數(shù)據(jù)(比如查找表或字典)或維
            護(hù)類(lèi)運(yùn)作的狀態(tài)信息(例如,?賦給每個(gè)對(duì)象一個(gè)標(biāo)識(shí)符的

            計(jì)數(shù)器).

            206.在設(shè)計(jì)良好的類(lèi)中,?所有的字段都應(yīng)在聲明為private,?并用公開(kāi)的訪問(wèn)方法提供對(duì)
            它們的訪問(wèn).

            207.在遇到friend聲明時(shí),?要停下來(lái)分析一下,?看看繞過(guò)類(lèi)封裝在設(shè)計(jì)上的理由.

            208.可以有節(jié)制地用運(yùn)算符增強(qiáng)特定類(lèi)的可用性,?但用運(yùn)算符重載,?將類(lèi)實(shí)現(xiàn)為擁有內(nèi)
            建算術(shù)類(lèi)型相關(guān)的全部功能的類(lèi)實(shí)體,?是不恰當(dāng)?shù)?

            209.泛型實(shí)現(xiàn)不是在編譯期間通過(guò)宏替換或語(yǔ)言所支持的功能(比如C++模板和Ada的泛型
            包)來(lái)實(shí)現(xiàn),?就是在運(yùn)行期間通過(guò)使用數(shù)據(jù)元素的指針

            和函數(shù)的指針|或?qū)ο蟮亩鄳B(tài)性實(shí)現(xiàn).

            210.抽象數(shù)據(jù)類(lèi)型經(jīng)常用來(lái)封裝常用的數(shù)據(jù)組織方案(比如樹(shù)|列表或棧),?或者對(duì)用戶(hù)隱
            藏?cái)?shù)據(jù)類(lèi)型的實(shí)現(xiàn)細(xì)節(jié).

            211.使用庫(kù)的目的多種多樣:?重用源代碼或目標(biāo)代碼,?組織模塊集合,?組織和優(yōu)化編譯
            過(guò)程,?或是用來(lái)實(shí)現(xiàn)應(yīng)用程序各種特性的按需載入.

            212.大型的|分布式的系統(tǒng)經(jīng)常實(shí)現(xiàn)為許多互相協(xié)作的進(jìn)程.

            213.對(duì)于基于文本的數(shù)據(jù)儲(chǔ)存庫(kù),?可以通過(guò)瀏覽存儲(chǔ)在其中的數(shù)據(jù),?破譯出它的結(jié)構(gòu).

            214.可以通過(guò)查詢(xún)數(shù)據(jù)字典中的表,?或使用數(shù)據(jù)庫(kù)專(zhuān)有的SQL命令,?比如show?table,?來(lái)
            分析關(guān)系型數(shù)據(jù)庫(kù)的模式.

            215.識(shí)別出重用的構(gòu)架元素后,?可以查找其最初的描述,?了解正確地使用這種構(gòu)架的方
            式,?以及可能出現(xiàn)的誤用.

            216.要詳細(xì)分析建立在某種框架之上的應(yīng)用程序,?行動(dòng)的最佳路線就是從研究框架自身
            開(kāi)始.

            217.在閱讀向?qū)傻拇a時(shí),?不要期望太高,?否則您會(huì)感到失望.

            218.學(xué)習(xí)幾個(gè)基本的設(shè)計(jì)模式之后,?您會(huì)發(fā)現(xiàn),?您查看代碼構(gòu)架的方式會(huì)發(fā)生改變:?您
            的視野和詞匯將會(huì)擴(kuò)展到能夠識(shí)別和描述許多通用的形

            式.

            219.頻繁使用的一些模式,?但并不顯式地指出它們的名稱(chēng),?這是由于構(gòu)架性設(shè)計(jì)的重用
            經(jīng)常先于模式的形成.

            220.請(qǐng)?jiān)囍凑盏讓幽J絹?lái)理解構(gòu)架,?即使代碼中并沒(méi)有明確地提及模式.

            221.大多數(shù)解釋器都遵循類(lèi)似的處理構(gòu)架,?圍繞一個(gè)狀態(tài)機(jī)進(jìn)行構(gòu)建,?狀態(tài)機(jī)的操作依
            賴(lài)于解釋器的當(dāng)前狀態(tài)|程序指令和程序狀態(tài).

            222.多數(shù)情況下,?參考構(gòu)架只是為應(yīng)用程序域指定一種概念性的結(jié)構(gòu),?具體的實(shí)現(xiàn)并非
            必須遵照這種結(jié)構(gòu).
            怡红院日本一道日本久久| 亚洲国产精品婷婷久久| 精品久久人人爽天天玩人人妻| 亚洲综合精品香蕉久久网| 久久国产免费观看精品3| 久久免费视频6| 国产精品久久久久久福利漫画 | 精品久久国产一区二区三区香蕉| 久久午夜福利电影| www.久久99| 久久乐国产综合亚洲精品| 人人狠狠综合久久亚洲88| 亚洲AV无码久久精品成人 | 无码任你躁久久久久久老妇App| 久久国产高潮流白浆免费观看| 久久久久18| 青青草国产精品久久| 久久综合88熟人妻| 久久无码高潮喷水| 久久嫩草影院免费看夜色| 国产69精品久久久久9999| 99久久777色| jizzjizz国产精品久久| 久久久久久伊人高潮影院| 亚洲一区精品伊人久久伊人| 欧美激情精品久久久久久久九九九| 国产精品视频久久| 国产精品美女久久久久网| 99久久综合狠狠综合久久止| 久久丫精品国产亚洲av| 久久久久人妻一区精品性色av| 亚洲伊人久久大香线蕉综合图片| 午夜精品久久久久| 国产偷久久久精品专区| 亚洲日本va中文字幕久久| 久久综合国产乱子伦精品免费| 亚洲AV无码久久精品成人 | 99久久婷婷国产一区二区| 久久99国产一区二区三区| 欧美久久天天综合香蕉伊| 亚洲国产日韩欧美综合久久|