91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

常見的軟件架構有哪些

發布時間:2021-01-13 10:52:57 來源:億速云 閱讀:227 作者:小新 欄目:互聯網科技

這篇文章主要介紹常見的軟件架構有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

常見的軟件架構模式:分層架構模式、客戶端-服務器模式、主從模式、管道-過濾器模式、代理模式、點對點模式、事件總線模式、模型-視圖-控制器(MVC)模式、黑板模式、解釋器模式等。

10種常見軟件架構模式

是否想知道大型企業級系統是怎么設計的?在軟件主體開發之前,我們必須選擇一個合適的架構來提供所需的功能和質量特征。所以在應用于設計之前,我們應該了解不同的架構。

常見的軟件架構有哪些

什么是架構模式

維基百科:架構模式是在給定上下文的軟件架構中,針對常發生問題的一種通用、復用的解決方案。架構模式類似于軟件設計模式,但是范疇更廣。

本文中,我將簡要的闡述如下10中常見架構模式的應用和優缺點。

1. 分層模式
   2. 客戶端-服務端模式
   3. 主從模式
   4. 管道-過濾器模式
   5. 代理模式
   6. 點對點模式
   7. 事件總線模式
   8. 模型-視圖-控制器模式
   9. 黑板模式
   10. 解釋器模式

1. 分層模式

該模式用于構建可分解為多組子任務的程序,每個子任務都在某個抽象層,每個層對上一個更高層提供服務。一般信息系統中最常見的4層體系如下。

  • 表示層(也叫 UI 層)

  • 應用層(也叫服務層)

  • 業務邏輯層(也叫領域層)

  • 數據訪問層(也叫持久層)

應用場景
  • 一般桌面程序

  • 電子商務網頁程序

常見的軟件架構有哪些

2. 客戶端-服務器模式

該模式由兩部分構成:單個服務器端和多個客戶端。服務器組件對多個客戶端組件提供服務。客戶端向服務器端請求服務,服務端提供對應服務給這些客戶端。此外,服務器端繼續監聽客戶端請求。

應用場景

  • 在線應用,比如電子郵件、文檔分享和銀行業務

常見的軟件架構有哪些

3. 主從模式

該模式由兩部分構成:主節點和多個從節點。主節點組件向多個獨立的從節點組件分派任務,并根據從節點返回結果計算出最終結果。

應用場景

  • 數據庫復制,主數據庫被視為權威來源并同步到從數據庫

  • 連接到計算系統的外圍設備(主從驅動)

常見的軟件架構有哪些

4. 管道-過濾器模式

該模式用于構建生產和處理數據流的系統。每個處理步驟封裝在一個過濾器組件中。待處理的數據被傳送到管道之中,這些管道可用于緩沖或者同步。

   應用場景

  • 編譯器,接連的過濾器執行詞義分析,語法分析,語義分析和代碼生成

  • 生物資料學科的工作流

常見的軟件架構有哪些

5. 代理模式

該模式用于構建組件解耦的分布式系統。這些組件通過遠程調用彼此交互。代理組件負責多個組件的通信協調,服務器向代理公開他們的能力(服務和特性);客戶端從代理中獲取服務,然后代理重定向客戶端到注冊服務庫中一個合適的服務。

   應用場景

  • 消息隊列軟件,比如 Apache ActiveMQ、Apache Kafka、RabbitMQ 和 JBoss Messaging

常見的軟件架構有哪些

6. 點對點模式

該模式中,各獨立組件都叫對等點。對等點既可以作為客戶端從其他對等點獲取服務,也可作為服務端向其他對等點提供服務。對等點可作為客戶端、或者服務端、或者兩者,并且在不時間動態切換角色。

   應用場景

  • 文件分享網絡,比如 Gnutella 和 G2

  • 多媒體協議,比如 P2PTV 和 PDTP

  • 私媒體程序,比如 Spotify

常見的軟件架構有哪些

7. 事件總線模式

該模式主要處理事件,有4個主要組件:事件源,事件監聽器,頻道和事件總線。事件源發布消息到事件總線上的某個頻道,監聽器訂閱某個頻道,并得知在已訂閱頻道中發布的消息。

   應用場景

  • Android 開發

  • 通知服務

常見的軟件架構有哪些

8. 模型-視圖-控制器模式

該模式也叫 MVC 模式,劃分交互程序為3個部分:模型——包含核心功能和數據,視圖——顯示信息給用戶(多個視圖可被定義),控制器——處理用戶輸入。它通過分割用戶信息的內部陳述和呈現、接受方式來實現,解耦組件并允許高效的代碼復用。

   應用場景

  • 主流編程語言的萬維網程序架構

  • 網頁框架,比如 Django 和 Rails

常見的軟件架構有哪些

9. 黑板模式

該模式對沒有確定性方案策略的問題很有用。黑板模式由三個主要組件組成,黑板——包含解空間對象的結構化全局內存,知識源——有自擁表示的專門模塊,控制組件——選擇、配置和執行模塊。所有組件都可訪問黑板,可生成新的數據對象并添加到黑板中。在黑板中,可根據已有知識源的匹配規則,尋找某些類型的數據。

應用場景

  • 語音識別

  • 車輛識別和跟蹤

  • 蛋白質結構鑒定

  • 聲吶信號解釋

常見的軟件架構有哪些

10. 解釋器模式

該模式用于設計解釋特定語言編寫的程序的組件。該組件主要指定怎么去評估程序代碼行,也就是所謂的用某種語言寫的語句或者表達式,基本點在于給語言符號分類。

   應用場景

  • 數據庫查詢語言,比如 SQL

  • 用于描述通信協議的語言

常見的軟件架構有哪些

架構模式比較

下面的表格概述每個架構模式的優缺點。

常見的軟件架構有哪些

以上是“常見的軟件架構有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

穆棱市| 孟连| 祁门县| 会东县| 兴海县| 厦门市| 西青区| 垣曲县| 健康| 安福县| 综艺| 富平县| 苏尼特右旗| 蓝田县| 西丰县| 手游| 新丰县| 九寨沟县| 广元市| 榕江县| 宜兴市| 启东市| 南安市| 乡城县| 高陵县| 翁牛特旗| 长汀县| 揭东县| 泾源县| 邯郸市| 赣榆县| 吕梁市| 吉安市| 岐山县| 汝城县| 安吉县| 祥云县| 屯昌县| 蒙阴县| 铜山县| 彰化县|