<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ì))都是由最簡單的事情構成的,都可以分解為簡單的事情
    主站蜘蛛池模板: 亚洲va在线va天堂成人| 亚洲精品中文字幕乱码影院| 激情内射亚洲一区二区三区爱妻| 男女午夜24式免费视频| 久久亚洲国产精品五月天| 免费成人在线视频观看| 久久综合日韩亚洲精品色| 久久99精品国产免费观看| 亚洲精品福利网泷泽萝拉| 91精品免费久久久久久久久| 久久精品国产亚洲AV嫖农村妇女| 久久ww精品w免费人成| 亚洲日本国产精华液| 毛片免费观看网站| 亚洲heyzo专区无码综合| 免费少妇a级毛片人成网| 人人爽人人爽人人片av免费 | 四虎影库久免费视频| 菠萝菠萝蜜在线免费视频| 亚洲精品NV久久久久久久久久| 皇色在线免费视频| 亚洲综合在线观看视频| 最近的中文字幕大全免费版| 精品一区二区三区无码免费直播| 亚洲综合国产一区二区三区| 2022久久国产精品免费热麻豆| 亚洲人精品亚洲人成在线| 亚洲av区一区二区三| 久久国产精品成人免费| 2017亚洲男人天堂一| 亚洲毛片网址在线观看中文字幕| 久草福利资源网站免费| 亚洲国产精品成人AV在线 | jizz免费一区二区三区| 精品亚洲A∨无码一区二区三区| www视频免费看| 无码人妻一区二区三区免费视频| 久久国产亚洲电影天堂| 午夜网站免费版在线观看| 国产免费阿v精品视频网址| 亚洲精品午夜国产va久久|