<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    [導入]無參數調用

    Posted on 2005-11-14 15:37 canonical 閱讀(330) 評論(0)  編輯  收藏 所屬分類: 設計理論
         全局變量在現(xiàn)代程序設計中可謂是臭名昭著。函數之間通過全局變量形成隱蔽的couple, 其聯(lián)系難以追蹤,難以控制,也使得程序的意圖變得非常隱晦。但從另一方面說,隱蔽的關聯(lián)也意味著兩個函數的關聯(lián)沒有被固化,可以隨時根據需要做出調整。例如,
        funcA(varA,varB,varC);
            funcB(varA,varB,varC,varD);
            funcC(varA);
            funcD(varA,varB,varC,varD);
        在以上程序中,funcA將調用funcB,但是funcB需要一個特殊的參數varD。我們可以選擇在funcA的參數列表中增加這一參數,但這樣 funcA的定義就破壞了它本身的意圖:它包含了一些具體的與自身意圖無關的實現(xiàn)細節(jié)。一旦funcB的實現(xiàn)改變,例如它不再需要varD, 或者需要更多的參數, 則funcA需要隨之進行調整。
        實際上在程序中我們可以通過兩兩關系進行參數接力,也可以采用中心化的方式,即各個函數都從環(huán)境(公共變量區(qū))中取得所需參數。面向對象是一種折衷的解決方案:對象的成員函數之間通過成員變量形成隱蔽的依賴,但是這種依賴又不會擴散到對象之外。最理想的情況下,我們可以采用無參數的函數調用,函數名揭示出我們的意圖而不用考慮交互的細節(jié)。在寫偽代碼的時候,經??梢园l(fā)現(xiàn)我們實際定義并使用的參量要遠少于最終實現(xiàn)所用到的參量。如果我們要實現(xiàn)偽代碼方式的程序書寫,那么在變量生存空間上還要做出比面向對象更加靈活,更加精細的控制。

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产综合免费精品久久久| 大桥未久亚洲无av码在线| 精品免费久久久久国产一区| 国产成人免费一区二区三区| 亚洲GV天堂无码男同在线观看 | 亚洲久悠悠色悠在线播放| 成年在线观看网站免费| 亚洲国产精品久久久久秋霞影院| 日本人成在线视频免费播放| 久久久综合亚洲色一区二区三区| 一级毛片免费观看不卡视频| 亚洲午夜视频在线观看| 91精品国产免费入口| 亚洲jjzzjjzz在线观看| 免费毛片网站在线观看| 免费国产黄网站在线看 | 亚洲视频一区在线| 欧洲精品成人免费视频在线观看| 亚洲色大18成人网站WWW在线播放| 国产美女无遮挡免费网站| 免费无码午夜福利片| 亚洲AV无码一区二区二三区入口| 精品无码无人网站免费视频| 亚洲国产视频久久| 亚洲国产成人精品91久久久| 你懂的在线免费观看| 亚洲成年人免费网站| 在线观看免费精品国产| eeuss免费天堂影院| 91嫩草私人成人亚洲影院| 国外成人免费高清激情视频| 手机永久免费的AV在线电影网| 亚洲国产精品无码久久久不卡| 91免费国产在线观看| 国产精品亚洲色图| 亚洲卡一卡2卡三卡4卡无卡三| 永久久久免费浮力影院| 中国好声音第二季免费播放| 亚洲六月丁香六月婷婷蜜芽| 四虎国产精品免费视| 日韩在线播放全免费|