www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]什么是架構(gòu)模式?

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

  什么是架構(gòu)模式?

  根據(jù)維基百科,

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

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

  分層模式

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

  主從模式

  管道過濾器模式

  代理模式

  點對點模式

  事件總線模式

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

  黑板模式

  解釋器模式

  1. 分層模式

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

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

  表示層(亦稱為 UI層)

  應(yīng)用層(亦稱為 服務(wù)層)

  業(yè)務(wù)邏輯層(亦稱為 領(lǐng)域?qū)?

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

  用法

  通用桌面應(yīng)用

  電子商務(wù)web應(yīng)用

  

  2. 客戶端-服務(wù)端模式

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

  用法

  在線應(yīng)用,例如電子郵件、文件共享和存儲。

  

  3. 主從模式

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

  用法

  主服務(wù)器是權(quán)威來源,從屬數(shù)據(jù)庫與其進(jìn)行同步。

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

  

  4. 管道過濾模式

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

  用法

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

  生物信息學(xué)中的工作流。

  

  5. 代理模式

  該模式用于構(gòu)建伴有解耦組件的分布式系統(tǒng)。這些組件通過遠(yuǎn)程服務(wù)調(diào)用來和彼此互動。代理組件負(fù)責(zé)協(xié)調(diào)組件之間的通信。

  服務(wù)器將其功能(服務(wù)和特性)發(fā)布到代理??蛻舳藦拇碚埱蠓?wù),代理根據(jù)注冊表把客戶端重定向到合適的服務(wù)。

  用法

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

  

  6. 點對點模式

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

  用法

  文件共享網(wǎng)絡(luò),例如Gnutella 和 G2)

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

  

  7. 事件總線模式

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

  用法

  安卓開發(fā)

  通知服務(wù)

  

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

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

  模型 – 包含核心功能和數(shù)據(jù)

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

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

  用法

  主要編程語言的萬維網(wǎng)應(yīng)用的體系結(jié)構(gòu)。

  web框架,例如Django和Rails。

 

  9. 黑板模式

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

  黑板 – 一塊結(jié)構(gòu)化的全局內(nèi)存,包含解決方案空間的對象。

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

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

  用法

  語音識別

  車輛識別和追蹤

  蛋白質(zhì)結(jié)構(gòu)識別

  海納信號解析

  

  10. 解釋器模式

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

  用法

  數(shù)據(jù)庫查詢語言,例如SQL。

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


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

在嵌入式系統(tǒng)的開發(fā)領(lǐng)域,軟件架構(gòu)設(shè)計是決定系統(tǒng)成敗的關(guān)鍵因素之一。隨著嵌入式系統(tǒng)功能日益復(fù)雜、應(yīng)用場景不斷拓展,傳統(tǒng)的軟件設(shè)計方式已難以滿足開發(fā)需求。模塊化設(shè)計作為一種先進(jìn)的軟件架構(gòu)設(shè)計理念,憑借其獨特的優(yōu)勢,在嵌入式軟...

關(guān)鍵字: 嵌入式 軟件架構(gòu) 模塊化

前言:?????SOA在IT行業(yè)已經(jīng)存在很多年,隨著近幾年智能汽車的出現(xiàn),用于對于自動駕駛、V2X、智能座艙等新功能的需求也逐漸強(qiáng)烈,汽車逐漸由一個機(jī)電耦合的系統(tǒng)轉(zhuǎn)變?yōu)橐粋€智能終端,類似智能手機(jī),可升級可進(jìn)化。面對這樣的...

關(guān)鍵字: 軟件架構(gòu)

點擊上方“小麥大叔”,選擇“置頂/星標(biāo)公眾號”福利干貨,第一時間送達(dá)我從事嵌入式軟件開發(fā)有6、7個年頭,bsp,驅(qū)動,應(yīng)用軟件,androidhall,framework等都有涉獵。平時除了關(guān)注嵌入式行業(yè)的發(fā)展,也多少對...

關(guān)鍵字: 嵌入式 軟件架構(gòu)

想知道如何設(shè)計大型企業(yè)級的系統(tǒng)嗎?在開始主要的代碼開發(fā)之前,我們必須選擇一種合適的體系架構(gòu),它將為我們提供所需的功能和質(zhì)量屬性。因此,在將它們應(yīng)用到我們的設(shè)計之前,應(yīng)該先了解不同的體系結(jié)構(gòu)。-???什么是架構(gòu)模式???-...

關(guān)鍵字: 軟件架構(gòu)

關(guān)注星標(biāo)公眾號,不錯過精彩內(nèi)容來源?|網(wǎng)絡(luò)我從事嵌入式軟件開發(fā)有6、7個年頭,bsp,驅(qū)動,應(yīng)用軟件,androidhall,framework等都有涉獵。平時除了關(guān)注嵌入式行業(yè)的發(fā)展,也多少對Web,后臺服務(wù)端,分布式...

關(guān)鍵字: 嵌入式 軟件架構(gòu)

在嵌入式軟件開發(fā),包括單片機(jī)開發(fā)中,軟件架構(gòu)對于開發(fā)人員是一個必須認(rèn)真考慮的問題。軟件架構(gòu)對于系統(tǒng)整體的穩(wěn)定性和可靠性是非常重要的,一個合適的軟件架構(gòu)不僅結(jié)構(gòu)清晰,并且便于開發(fā)、維護(hù)。我相信在嵌入式或單片機(jī)軟件開發(fā)的初期...

關(guān)鍵字: 嵌入式軟件 軟件架構(gòu)

作者:Go語言由淺入深鏈接:https://www.jianshu.com/p/18944235727a你是否想知道企業(yè)大規(guī)模系統(tǒng)是如何設(shè)計的?在軟件開發(fā)開始之前,我們必須選擇一個合適的架構(gòu),能提供所需的功能和質(zhì)量特性。...

關(guān)鍵字: 軟件架構(gòu)

關(guān)注星標(biāo)公眾號,不錯過精彩內(nèi)容來源|嵌入式在左c語言在右在嵌入式軟件開發(fā),包括單片機(jī)開發(fā)中,軟件架構(gòu)對于開發(fā)人員是一個必須認(rèn)真考慮的問題。軟件架構(gòu)對于系統(tǒng)整體的穩(wěn)定性和可靠性是非常重要的,一個合適的軟件架構(gòu)不僅結(jié)構(gòu)清晰,...

關(guān)鍵字: 軟件架構(gòu)

摘 要:參考美國海軍預(yù)備在政府實驗室建立基于下一代機(jī)載軟件環(huán)境2.0(Future Airborne Capability Environment, FACE)標(biāo)準(zhǔn)的未來開放式航電架構(gòu)原型。由Open Group發(fā)布的F...

關(guān)鍵字: 可移植性 軟件架構(gòu) 數(shù)據(jù)分發(fā)服務(wù) 平臺服務(wù)

以下內(nèi)容中,小編將對自動駕駛以及目前大家對自動駕駛的誤解的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述。

關(guān)鍵字: 自動駕駛 傳感器 軟件架構(gòu)
關(guān)閉