<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

    架構(gòu)的可退化性與無侵入性

    Posted on 2005-12-22 22:55 canonical 閱讀(1207) 評論(4)  編輯  收藏 所屬分類: 設(shè)計理論
        架構(gòu)的可退化性(degragation)指的是架構(gòu)的結(jié)構(gòu)可以從元素比較豐富,層次比較多,比較復(fù)雜的情況退化到比較簡單的情況, 而架構(gòu)的無侵入性(non-invasive)指的是架構(gòu)對于外部接入對象沒有特殊的形式要求, 一般通過依賴注入(dependency injection)向接入的外部對象推送信息. 這兩個概念之間存在著緊密的關(guān)聯(lián), 但并不等同. 無侵入性可以看作是架構(gòu)的一種局部可退化性, 例如一個業(yè)務(wù)對象在正常工作的時候需要是完整的EJB對象形態(tài), 而在編寫的時候退化到普通的java對象(POJO). 架構(gòu)的可退化性是一個比無侵入性更加廣泛的概念:一個架構(gòu)對外可以是無侵入性的, 但是它的實現(xiàn)本身可能相當(dāng)復(fù)雜, 是不能退化的. 例如在一般的web表現(xiàn)層設(shè)計中, 很多人都試圖提供一個RPC層, 將Web請求解析后映射為對java對象方法的調(diào)用. 通過一系列的描述文件, java對象本身可以完全不知道web層的存在, 因而這種設(shè)計在某種程度上可以看作是無侵入性的. 但是假如現(xiàn)在出現(xiàn)了性能問題,或者RPC層本身出現(xiàn)一些bug, 或者我們需要一些RPC層很難有效實現(xiàn)的映射規(guī)則, web層設(shè)計應(yīng)該允許我們越過RPC層, 很方便的直接處理request和response, 這意味著在我們的架構(gòu)設(shè)計中需要把邊界劃在web接口上(需要在這里定義基本的交互規(guī)范),而不僅僅是對象接口上.如果一個架構(gòu)設(shè)計強制規(guī)定了一個不可越 過的RPC層, 則意味著該架構(gòu)在這一點上是不可退化的.

        架構(gòu)的可退化性是級列設(shè)計理論的一個自然推論, 它是對架構(gòu)整體的要求, 需要同時考慮到架構(gòu)本身實現(xiàn)的復(fù)雜性以及與外部接口的復(fù)雜性, 而不是僅僅考慮到對外部接入對象的復(fù)雜性的要求. 整個架構(gòu)需要能夠沿著復(fù)雜性級列scale down, 而不僅僅是scale up!

    Feedback

    # re: 架構(gòu)的可退化性與無侵入性  回復(fù)  更多評論   

    2005-12-23 01:21 by ajooo
    說的太對了!

    # re: 架構(gòu)的可退化性與無侵入性  回復(fù)  更多評論   

    2005-12-23 16:40 by weide
    首先感謝canonical對我在上個Blog中提出的問題進行了解說

    這次兩段的文字雖然不長,又讓我考慮了老半天,感覺仍有推敲之處:
    架構(gòu)的無侵入性,指的是架構(gòu)對于外部接入對象沒有特殊的形式要求,這種無侵入性在事實上“降低”了外部對象與框架本身的依賴關(guān)系--是“降低”,而不是沒有了。所以從這個角度講,所謂“無侵入性”是根本就不存在的,只能降低“侵入性”,即術(shù)語應(yīng)該是:“低侵入性”。剛剛搜到一篇文檔也是說這個問題:
    http://www.dingl.com/view.shtml?xh=474

    再來看可退化性和低侵入性的關(guān)系:
    低侵入性,指出了框架在進行擴展時的復(fù)雜度降低,對框架的依賴降低,通常就是我們希望的靈活的擴展能力
    可退化性,則描述了,可以把增加的這些擴展,很方便的unload
    這樣,低侵入性造就了可退化性。

    關(guān)于Blog中舉出的RPC層,這個很讓我困惑:因為它看上去,真的是“無侵入性”的。不過后來想想,這個RPC層實際上還是有所依賴的:它必須處理request和response?

    # re: 架構(gòu)的可退化性與無侵入性  回復(fù)  更多評論   

    2005-12-24 00:39 by wfeng007
    對于“可退化性“ 不太了解
    請問 根據(jù)你的定義
    “架構(gòu)的可退化性(degragation)指的是架構(gòu)的結(jié)構(gòu)可以從元素比較豐富,層次比較多,比較復(fù)雜的情況退化到比較簡單的情況“

    是不是 退化就是指 不同職責(zé)部分 的合并但是這些職責(zé)依然存在?

    # re: 架構(gòu)的可退化性與無侵入性  回復(fù)  更多評論   

    2005-12-24 12:43 by 非魚
    @canonical
    我認(rèn)為你說的無侵入和可退化,適用于平臺、框架甚至架構(gòu)的水平部分或者設(shè)計約束。對于一個軟件的架構(gòu)來說,往往由于其需求的變化,屬于你所說的態(tài)空間不完備的問題(只要一個存在就夠了)。而且對于這種情況,我們已經(jīng)有了不利己的解決方案(或者說理論?)——迭代。

    你說的級列理論,是一個從一般到特殊思想的應(yīng)用,前提是一個完備的態(tài)空間,即“最一般”情況。這在軟件設(shè)計中很難適用,我們只能應(yīng)用其思想。考慮以下的例子:

    一個應(yīng)用是一個網(wǎng)絡(luò)應(yīng)用;它可以使用現(xiàn)有任何網(wǎng)絡(luò)協(xié)議通信。
    最簡單的狀態(tài),單機可以使用它;
    兩臺機器可以使用它;
    可以使用IPX;TCP/IP等等協(xié)議通信;也可以使用IPV6(IPNG);
    現(xiàn)在軟件完成了,一個新的網(wǎng)絡(luò)協(xié)議出現(xiàn)了(比如IPNNG。。)。

    所以,級列理論,你應(yīng)該在考慮一下,確定其適應(yīng)環(huán)境,在前面加上定語。
    主站蜘蛛池模板: 精品国产人成亚洲区| 亚洲成a人片在线不卡一二三区| 日本免费人成黄页网观看视频| 可以免费观看的毛片| 日韩久久无码免费毛片软件| 亚洲人精品亚洲人成在线| 亚洲一区精品中文字幕| 亚洲人成色7777在线观看| 亚洲国产成人a精品不卡在线| 成人午夜免费福利| 免费看污成人午夜网站| 最近2019免费中文字幕视频三| 中文字幕免费观看视频| 黄色免费在线观看网址| 亚洲成av人片天堂网无码】| 亚洲免费二区三区| 亚洲第一页在线观看| 激情内射亚洲一区二区三区| 亚洲国产成人片在线观看 | 亚洲欧洲国产视频| 亚洲av日韩av无码黑人| 久久夜色精品国产亚洲| 亚洲国产精华液网站w| 亚洲成色www久久网站夜月| 亚洲综合av永久无码精品一区二区| 亚洲va中文字幕无码| 亚洲av午夜成人片精品电影 | 亚洲熟妇无码八V在线播放| 激情内射亚洲一区二区三区爱妻 | 可以免费看黄的网站| 亚洲一级毛片免费看| 4虎1515hh永久免费| 亚洲成人免费电影| 青娱乐免费视频在线观看| 希望影院高清免费观看视频| 免费观看激色视频网站bd| 在线观看免费人成视频| 午夜dj在线观看免费视频| 国产又粗又长又硬免费视频| 青青青国产色视频在线观看国产亚洲欧洲国产综合 | 全亚洲最新黄色特级网站|