<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ā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久综合图区亚洲综合图区| 亚洲精品无码日韩国产不卡?V| 亚洲av无码国产精品色午夜字幕| 精品一区二区三区无码免费直播| 天天操夜夜操免费视频| 精品国产免费一区二区三区香蕉 | 18禁黄网站禁片免费观看不卡| 亚洲精品蜜桃久久久久久| 福利免费在线观看| 亚洲国产精品国自产拍AV| 男的把j放进女人下面视频免费| 亚洲日韩精品一区二区三区无码| 两个人看的www视频免费完整版| 亚洲区小说区图片区QVOD| 特级精品毛片免费观看| 亚洲成人黄色在线观看| 91在线视频免费播放| 亚洲国产精品自在自线观看| 国产免费观看网站| 国产免费人成视频尤勿视频| 人人狠狠综合久久亚洲88| 最近2019年免费中文字幕高清| 亚洲午夜电影在线观看高清| 成人免费毛片观看| 曰韩无码AV片免费播放不卡| 国产亚洲一区二区手机在线观看| 24小时免费看片| 亚洲AV成人精品一区二区三区| 亚洲一本大道无码av天堂| 最近免费中文字幕MV在线视频3| 亚洲熟妇无码久久精品| 四虎影视永久免费观看| 搡女人免费免费视频观看| 亚洲精品福利网站| 韩国日本好看电影免费看| 在线观看黄片免费入口不卡| 老司机亚洲精品影院无码| 免费无码一区二区三区蜜桃大| 中文字幕永久免费| 亚洲国产系列一区二区三区| 在线A亚洲老鸭窝天堂|