<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 分層架構 分層架構(layered architecture)是常見的軟件架構,也是事實上的標準架構,如果說你不知道用什么架構,那么最簡單的就是使用這種架構方式。 這種架構將軟件分成若干個水平層,每一層都有清晰的角色和分工,不需要知道其他層的具體細節,層和層之間通過接口通信。 雖然沒有明確約定,軟件一定要分成多少層,但是四層的結構是最常見的了。 ![四層架構](https://box.kancloud.cn/aed0ef3893476aa4f8fc7c57be63a181_750x561.png) > * 表現層(Presentation Layer):用戶界面,負責和用戶互動 > * 業務層(Bussiness):實現業務邏輯 > * 持久層(Persistence):提供數據,SQL語句就放在這一層 > * 數據層(Database):保存數據 有的軟件在邏輯層和持久層之間,增加了一個服務層(Service),提供不同業務邏輯需要的一些通用接口。 用戶的請求將以此通過這四層的處理,不能跳過其中的任何一層。 ![](https://box.kancloud.cn/c2baf8516481ce079bd238d4d2322b78_750x511.png) 優點 > * 結構簡單,容易理解和開發 > * 不同技能的程序員可以分工,負責不同的層,天然適合大多數軟件公司的組織架構 > * 每一層都可以獨立測試,其它層的接口通過模擬解決 缺點 > * 一旦換件發生變化,需要代碼調整或增加功能的時候,通常比較麻煩和費時 > * 部署比較麻煩,即使只修改一個小地方,往往需要整改軟件重新部署,不容易做持續發布 > * 軟件升級時,可能需要整改服務暫停 > * 擴展性差。用戶請求大量增加的時候,必須依次擴展每一層,由于每一層內部是耦合的,擴展會很困難
                  <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>

                              哎呀哎呀视频在线观看