<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 5.4.1 層次化體系結構 層次化設計是構造復雜系統的一個基本方法,按此方法設計出的系統具有層次化體系結構。現實世界中這種層次化結構俯拾皆是。例如,一幢高樓總是從最底層打基礎開始,一層 一層地加高。又如,我國的行政組織具有街道、區、市、省、中央這樣的層次化結構。 計算機軟件的各個構件也經常組織成這樣的層次體系結構。在層次體系中,下層構件為 上層構件提供服務,上層構件使用下層構件的服務,上層和下層之間形成一種類似“調用- 返回”的關系。為了正確地調用和返回,每一層都需要提供一個界面(接口)給上層,以便 與之交互。層次體系頂層為程序員或最終用戶提供界面。 我們在自頂向下逐步求精設計方法中也使用了層次化的設計,只不過那里的層次體現的 是功能的分解,即一個函數用更加細化的函數來實現,上下層之間就是函數的調用-返回關 系。而在這里討論的是用于不同目的的層次化體系結構,其中上下層之間并非功能分解的關 系,分層是為了建立不同的界面。打個比方,假設有一種多功能電視機,其面板上有許多功 能按鈕,然而多數老年人既不明白也不需要使用那些先進的功能,復雜的面板只會讓老人連 簡單的頻道和音量按鈕也搞不清。這時我們可以在原面板上覆蓋一層新面板,其上只留下頻 道和音量按鈕,現在老人看到的電視機就有了簡單易用的界面(圖 5.22)。 ![](https://box.kancloud.cn/2016-02-22_56cafce1d190d.png) 圖 5.22 為電視機加一層面板 采用層次化設計的計算機軟件的構件分成若干層,先有低層構件,然后在其上架設高層 構件。高層構件的功能依賴于低層構件的功能,但高層構件一般更容易理解,程序員或用戶 使用起來更方便。典型的層次化軟件體系結構的例子包括數據庫的 ANSI-SPARC 三層模式、 網絡技術的 ISO/OSI 七層模型、Web 應用開發中的三層體系結構等等。 層次化體系結構的主要優點包括重用和標準化。重用是指同樣的構件可以用在任何具有 相同界面要求的地方;同樣,只要層次間界面不變,一個構件也可以換用以不同方式實現的 其他同類構件。還以圖 5.22 例打比方,我們自制的面板可以用于同品牌型號的所有電視機, 并且木質的面板可以換用塑料面板,黑色面板可以換用彩色面板,等等。標準化是指由標準 化組織為某一類軟件構件定義標準界面,而各軟件廠商可以采取不同的低層實現技術來實現 高層的標準界面。就好比家電協會規定所有電視機的面板都必須包括電源開關,而各廠商可 以用按鈕來實現電源開關,也可以使用紅外遙控來開關。 層次化體系結構的主要缺點是效率不如整體式結構,這是因為當程序員或用戶面對頂層 構件請求某項服務時,這個請求需要從高層到低層逐層下傳,最終由底層構件來實現功能, 再將結果逐層上傳,直至頂層用戶。這個逐層轉換的過程顯然很耗費時間。假如用戶能直接 與底層打交道,功能的實現就會高效的多。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看