<var id="bphvj"></var>
    <mark id="bphvj"><rp id="bphvj"><address id="bphvj"></address></rp></mark>
      <dfn id="bphvj"></dfn>
      <font id="bphvj"></font>

          <delect id="bphvj"></delect>
          <cite id="bphvj"><em id="bphvj"></em></cite>

          <delect id="bphvj"><em id="bphvj"><thead id="bphvj"></thead></em></delect><menuitem id="bphvj"></menuitem><var id="bphvj"></var>
            <cite id="bphvj"><pre id="bphvj"><listing id="bphvj"></listing></pre></cite>

            <meter id="bphvj"><ins id="bphvj"><ol id="bphvj"></ol></ins></meter>
                <delect id="bphvj"><span id="bphvj"></span></delect>

                <thead id="bphvj"><output id="bphvj"><pre id="bphvj"></pre></output></thead>
                  c
                  ase analysis
                  案例分析
                  聯系我們
                  contact us
                  聯系人:宋經理

                  座  機:028-86677012

                  郵  箱:[email protected]
                  地  址:成都市武侯區長華路19號萬科匯智中心30樓
                  測評
                  您當前位置:首頁 > 案例分析 > 案例解讀 > 測評 >
                  十種常見的軟件架構

                  Wikipedia 的解釋:

                  在軟件架構中,架構模式是對特定環境下常見問題的通用且可重用的解決方案。架構模式與軟件設計模式很相似,但架構模式的層次更高,且外延更大。

                  本文將簡述常見的10種架構模式的概念、用法以及其優缺點。

                   

                   

                  1. 分層模式(Layered pattern)

                   

                  2. 客戶端/服務器模式(Client-server pattern)

                  3. 主/從模式(Master-slave pattern)

                  4. 管道/過濾器模式(Pipe-filter pattern)

                  5. 代理模式(Broker pattern)

                  6. 對等模式(Peer-to-peer pattern)

                  7. 事件總線模式(Event-bus pattern)

                  8. 模型/視圖/控制器(MVC)模式(Model-view-controller pattern)

                  9. 黑板模式(Blackboard pattern)

                  10.       解析器模式(Interpreter pattern)

                  1. 分層模式(Layered pattern)

                  分層模式用于對結構化設計的軟件進行層次拆解,每個層次為獨立的抽象,為其上層抽象提供服務。

                  系統通常被拆分為以下四個層次:

                  ·   表示層(也稱為 UI 層)

                  ·   應用層(也稱為服務層)

                  ·   業務邏輯層(也稱為領域層)

                  ·   數據訪問層(也稱為持久化層)

                  使用場景

                  ·   通用桌面應用程序

                  ·   電子商務 Web 應用


                  2. 客戶端/服務器模式(Client-server pattern)
                  客戶端/服務器模式由兩個部分構成:一個服務器與多個客戶端。服務器組件同時為多個客戶端組件提供服務。客戶端向服務器發啟服務請求,服務器將相應服務信息回應給客戶端。此外,服務器持續監聽來自客戶端的請求。
                  使用場景
                  ·   電子郵件、文件共享及銀行業務等在線應用

                  3. 主/從模式(Master-slave pattern)

                   

                   

                  主/從模式由兩個部分構成:主設備與從設備。主服務組件將作業分發給多個從設備組件,并根據這些從設備反饋的結果,計算生成***終結果。

                   

                  使用場景

                  ·   數據庫復制,主數據庫被認定為******數據源,各從數據庫與主數據保持同步

                   

                   

                  ·   在計算機系統中通過總線互連的各設備(包括主設備與從設備)

                   

                  4. 管道/過濾器模式(Pipe-filter pattern)

                  管道/過濾器模式用于構造用于生成及處理數據流的系統。每個處理過程都封裝在過濾器(filter)組件之中,要處理的數據通過 管道(pips) 進行投遞。管道同時用于作為 過濾器(filter 間的緩沖及同步。

                  使用場景

                  ·   編譯器,一系列的過濾器用于詞法分析、語法分析、語義分析及代碼生成

                  ·   生物信息學的工作流

                  5. 代理模式(Broker pattern

                   

                   

                   

                  代理模式用于在結構化系統中對組件解耦。系統內各組件間采用遠過程調用(remote service invocations)的方式交互。代理(Broker)組件充當組件間通訊的協調角色。

                   

                  提供服務的組件將其能力(服務以及特性)發布給代理,客戶端均向代理請求服務,由代理將請求重定向到先前已發布過對應服務的組件進行處理。

                  使用場景

                  ·  

                  消息中間件軟件:Apache ActiveMQApache KafkaRabbitMQ JBoss 等等。

                  6. 對等模式(Peer-to-peer pattern)

                   

                  對等模式中的組件稱之為對等體(peer),對等體既作為向其他對等體請求服務的客戶端,同時也做為響應其他對等體請求的服務端。對等體可以在運行過程中動態地改變其角色,即,既可以單獨做為客戶端或服務端運行,又可同時作為客戶端與服務端運行。

                  使用場景

                  ·   網絡文件共享:Gnutella  G2)

                  ·   流媒體協議:P2PTV  PDTP.

                  ·  

                  流媒體應用:

                   Spotify.

                  7. 事件總線模式(Event-bus pattern

                   

                   

                   

                  事件總線模式應用于事件處理,主要由四個組件構成:事件源(event source),事件偵聽者(event listener),通道(Channel)以及總線(event bus)。 事件源將消息發布到總線的特定通道,偵聽者訂閱相應的通道,事件源所發布的消息經通道通告給訂閱通道的偵聽者。

                   

                   

                  使用場景

                   

                  ·   Android 開發

                  ·  

                  通告(Notification)服務

                  8. 模型/視圖/控制器(MVC)模式(Model-view-controller pattern

                   

                   

                  模型/視圖/控制器模式(簡稱 MVC 模式)將交互式應用程序拆分為三個部分:

                   

                  1. 模型(model – 包含核心功能及數據

                  2. 視圖(view – 呈現信息給用戶(通過有多個視圖)

                  3. 控制器(controller – 處理用戶的輸入操作

                  MVC 模式通過將內部信息表示、用戶信息呈現以及用戶操作接收分開的方式解耦組件,實現高效代碼重用。

                  使用場景

                  ·   主流開發語言所構建的互聯網網頁應用架構

                  ·   Django 

                   Rails 等網頁應用開發框架

                  9. 黑板模式(Blackboard pattern

                   

                  黑板模式適用于 無預知確定解決策略 的問題,主要由三個組件構成:

                   

                  ·   黑板(blackboard – 用于存儲解空間對象的結構化全局內存

                  ·   知識(knowledge)源 – 能自表意的專用模塊

                  ·   控制(control)組件 – 選擇、配置與執行的模塊

                  所有的組件均能訪問黑板,組件可將新生成的數據對象寫入黑板,也可以通過模式匹配從黑板中獲取知識源所生成的特定數據。

                  使用場景

                  ·   語音識別

                  ·   車輛識別和追蹤

                  ·   蛋白質的結構鑒定

                  ·   聲納信號解析

                  10. 解析器模式(Interpreter pattern

                   

                   

                  測評中心供稿

                  引自伯樂在線/Alick

                   


                  ?
                  无码有剧情免费的AV在线_婷婷色香五月综合缴缴_天堂无码亚洲AV日韩AV_午夜福利视频无码一二三