<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-12-27 01:24 canonical 閱讀(997) 評論(2)  編輯  收藏 所屬分類: 設計理論
        敏捷思想的流行使得很多人對可擴展設計產(chǎn)生了一種懷疑的態(tài)度。這有幾方面的原因,一方面是J2EE平臺本身提供的分布式機制等技術因素很容易誘導你定義不 必要的擴展需求,第二是基于目前的技術手段對于程序結構的分解仍然有著很大限制,具體的程序?qū)崿F(xiàn)中往往會引入某種強制依賴,削弱了潛在的可擴展性,第三則 是設計者本身對于技術和業(yè)務的把握不夠深入,在考慮設計的可擴展性時經(jīng)常做出錯誤的判斷。但是一個只滿足當前需求的系統(tǒng)一般不是個好系統(tǒng),也很難在多次迭 代生命周期后繼續(xù)生存。XP(extreme programming)強調(diào)簡單化,其實質(zhì)在于簡單的東西可以在未來被重構(refactor),從而適應未知的變化,它本身并不排斥可擴展設計。
        從基本的常識出發(fā),我們都知道現(xiàn)在應該為將來做些事情,準備些資本。可擴展設計的價值觀不應是現(xiàn)在解決將來的問題,而是尋求未來發(fā)展之后現(xiàn)在的解是否仍然 部分有效,是否仍然可以部分被繼承。即我們考慮的不是將未來的解納入到現(xiàn)在的體系中,而是考慮現(xiàn)在的解在未來的體系中的位置。不是在現(xiàn)在如何支持我們所預 想到的幾種未來的擴展方式,而是無論未來如何變化,怎樣才能保證現(xiàn)在工作的有效性。這里所關注的重點是現(xiàn)在而不是將來!面對演化我們所能采取的最好的策略 就是盡量有所積累,盡量不放棄我們的過去,而不是把寶押在對未來的準確預測上。一個厚重的設計往往在后期會因為預料的太多反而在遭遇未預料到的變化時不知 所措,結果造成系統(tǒng)整體架構的失效,必須做更多的工作打補丁來使得它勉強工作。象EJB這樣distribution ready的技術現(xiàn)在已經(jīng)公認有過度設計之嫌,因為這些已經(jīng)ready的特性一般并不會被應用但是我們卻不得不為這些無用的特性付出代價。
        
        可擴展設計所依賴的基本原則之一是IoC(Inversion of Control)。IoC是目前輕量級容器(lightweight container)的核心設計思想,但其實它的應用遠不止在輕量級容器這一領域。基于IoC設計,大量的知識(依賴)被剝離出業(yè)務對象本身,對象對于其 生存環(huán)境和應用場景的假設大大減弱,而我們的期望正在于無論未來的應用環(huán)境如何變化,只要提供必要的知識,業(yè)務對象就能工作。可以說,IoC是可擴展性的 一種基本要求。
       
        可擴展設計所依賴的另一個原則是連續(xù)性(continuous), 這可比IoC要復雜和深刻的多了。如果說現(xiàn)代設計的核心觀念是演化(evolution), 那么在我們的思想中演化到底有著什么樣的圖景? 至少需要一個方向加上一條連續(xù)的途徑,evolution才能發(fā)生。在級列設計中,一個簡單的系統(tǒng)架構需要能夠scale up,而一個復雜層次上的系統(tǒng)架構也需要能夠以優(yōu)雅的方式scale down。這種變化是自然的因為它們是連續(xù)的。

    Feedback

    # re: [導入]設計的可擴展性  回復  更多評論   

    2005-12-28 09:54 by TrampEagle
    “不是在現(xiàn)在如何支持我們所預想到的幾種未來的擴展方式,而是無論未來如何變化,怎樣才能保證現(xiàn)在工作的有效性。”很贊同這句話,其實一個好的設計并不是說要能夠適應未來的所有變化,其實任何一個系統(tǒng)也不可能做到這一點,但如果為做到這一點而去設計,只能使設計更糟糕,更加不容易擴展,更難維護。

    # re: [導入]設計的可擴展性  回復  更多評論   

    2005-12-29 10:27 by weide
    POJO和盡量多的分層,一個類只負責一個功能,這樣子,管它什么框架什么技術都可以很容易的加個新的包裝

    世界是由分子構成的,我覺得這也是XP的核心思想。任何復雜的事情(物質(zhì))都是由最簡單的事情構成的,都可以分解為簡單的事情
    主站蜘蛛池模板: 黄色一级毛片免费看| 亚洲成a人片在线观看日本| 午夜dj免费在线观看| 国产va精品免费观看| 免费观看黄网站在线播放| 精品熟女少妇AV免费观看| 97国产免费全部免费观看| 国产成人精品久久免费动漫| 亚洲大片免费观看| 在线观看成人免费视频不卡| 67194熟妇在线永久免费观看| 免费看片在线观看| 成人免费a级毛片| 国产在线98福利播放视频免费| 无码不卡亚洲成?人片| 亚洲成A人片在线观看中文| 国产午夜亚洲精品理论片不卡 | 免费女人高潮流视频在线观看| 无码国产精品一区二区免费式芒果 | 国产精品高清视亚洲一区二区 | 亚洲va中文字幕无码久久| 亚洲精品V欧洲精品V日韩精品| 亚洲AV成人片色在线观看高潮 | 亚洲精品国产自在久久| 亚洲中文字幕无码爆乳AV| 亚洲人成网站在线播放影院在线| 亚洲天堂电影在线观看| 亚洲熟妇无码AV不卡在线播放 | 亚洲H在线播放在线观看H| 色婷婷亚洲一区二区三区| 一级毛片视频免费| 无码AV片在线观看免费| 久久久www成人免费毛片| 亚洲av区一区二区三| 亚洲AV午夜福利精品一区二区| 亚洲人成777在线播放| 亚洲日韩AV一区二区三区四区| 特级毛片aaaa免费观看| 无码人妻AV免费一区二区三区| 四虎成人精品一区二区免费网站| 亚洲精品国精品久久99热|