當前位置:首頁 > 芯聞號 > 充電吧
[導讀]什么是架構模式?

  大型的企業(yè)級系統(tǒng)是如何設計的呢?想必大家都曾經有過這樣的疑惑。大型軟件開發(fā)前,我們必須選擇一種合適的架構,它既要提供我們想要的功能,質量也要過關。因此,在應用不同的架構之前,我們有必要熟悉一下這些架構。

  什么是架構模式?

  根據維基百科,

  針對軟件架構中給定上下文的常見問題,架構模式是一種通用的、可復用的解決方案。它與軟件設計模式相似,但范圍更廣。

  在這篇文章中,我將簡要地說明一下10種常用的架構模式,以及它們的用法和利弊。

  分層模式

  客戶端 – 服務端模式(cs模式)

  主從模式

  管道過濾器模式

  代理模式

  點對點模式

  事件總線模式

  模型-視圖-控制器模式(MVC模式)

  黑板模式

  解釋器模式

  1. 分層模式

  這種模式可用于構建能分解成多組子任務的程序,每個子任務處在特定的抽象級別中。每一層為更高一層提供服務。

  以下是最常見的通用信息系統(tǒng)中的4個層次。

  表示層(亦稱為 UI層)

  應用層(亦稱為 服務層)

  業(yè)務邏輯層(亦稱為 領域層)

  數據訪問層(亦稱為 持久層)

  用法

  通用桌面應用

  電子商務web應用

  

  2. 客戶端-服務端模式

  該模式包含一個服務端和多個客戶端。服務端組件給多個客戶端組件提供服務??蛻舳讼蚍斩苏埱蠓?,服務端提供相關的服務。此外,服務端會持續(xù)監(jiān)聽客戶端的請求。

  用法

  在線應用,例如電子郵件、文件共享和存儲。

  

  3. 主從模式

  該模式包含兩部分;主和從。主組件給相同的從屬組件分配工作,并根據從 從屬組件 中返回的結果計算最終結果.

  用法

  主服務器是權威來源,從屬數據庫與其進行同步。

  在計算機系統(tǒng)中,外圍設備連接到總線中(主驅動和從屬驅動)。

  

  4. 管道過濾模式

  該模式可用于構建生成和處理數據流的系統(tǒng)。每個處理步驟包含在一個過濾組件中。待處理的數據通過管道傳遞。這些管道可用于數據緩存或同步。

  用法

  編譯器。連續(xù)的過濾器執(zhí)行詞法分析,解析,語意分析,和代碼生成。

  生物信息學中的工作流。

  

  5. 代理模式

  該模式用于構建伴有解耦組件的分布式系統(tǒng)。這些組件通過遠程服務調用來和彼此互動。代理組件負責協(xié)調組件之間的通信。

  服務器將其功能(服務和特性)發(fā)布到代理。客戶端從代理請求服務,代理根據注冊表把客戶端重定向到合適的服務。

  用法

  消息代理服務,例如Apache ActiveMQ, Apache Kafka,RabbitMQ和JBoss Messaging。

  

  6. 點對點模式

  在該模式中,相同的組件被稱為對等組件。對等體既可以作為客戶端,請求其他對等體的服務,也可以作為服務端,為其他對等體提供服務。一個對等體可以作為客戶端、或者服務端、或者兼任兩者,它能隨著時間動態(tài)變更自己的角色。

  用法

  文件共享網絡,例如Gnutella 和 G2)

  多媒體協(xié)議,例如P2PTV 和 PDTP。

  

  7. 事件總線模式

  該模式主要處理事件,并且有4個主要組件:事件源,事件監(jiān)聽者,事件通道和事件總線。事件源發(fā)布消息到事件總線上的特定通道。監(jiān)聽者訂閱特定通道。如果監(jiān)聽者訂閱的通道有消息發(fā)布,那么監(jiān)聽者就會得到通知。

  用法

  安卓開發(fā)

  通知服務

  

  8. 模型-視圖-控制器模式(MVC模式)

  該模式亦被稱為MVC模式,它將交互式應用分成3個部分,

  模型 – 包含核心功能和數據

  視圖 – 給用戶展示信息(可能不止一個視圖)

  控制器 – 處理用戶的輸入 這樣做的目的是將 信息的內部表示 和 信息呈現給用戶并且從用戶獲取的方式 分離開。這樣能解耦組件并且有效重用代碼。

  用法

  主要編程語言的萬維網應用的體系結構。

  web框架,例如Django和Rails。

 

  9. 黑板模式

  該模式可用于沒有已知確定性解決方案策略的問題。黑板模式由3個主要組件組成。

  黑板 – 一塊結構化的全局內存,包含解決方案空間的對象。

  知識源 – 具有各自代表性的專業(yè)模塊。

  控制組件 – 選擇,配置和執(zhí)行模塊。 所有組件都可以訪問黑板。組件可能會生產添加進黑板的新數據對象。組件在黑板上尋找特定類型的數據,并且可能利用已有的知識源,通過模式匹配的方式來尋找數據。

  用法

  語音識別

  車輛識別和追蹤

  蛋白質結構識別

  海納信號解析

  

  10. 解釋器模式

  該模式用于設計 用來解釋專用語言寫成的程序 的組件。它主要指明如何評估程序的行,即用特定語言編寫的語句或表達式?;鞠敕ㄊ菫檎Z言的每個符號設置一個類。

  用法

  數據庫查詢語言,例如SQL。

  計算機語言用來描述通訊協(xié)議。


本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉