下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
超詳細干貨:架構(gòu)設(shè)計師必備的10種設(shè)計模式
企業(yè)規(guī)模的軟件系統(tǒng)該如何設(shè)計呢?在開頭寫代碼之前,我們需要選擇一個合適的架構(gòu),這個架構(gòu)將打算軟件實施過程中的功能屬性和質(zhì)量屬性。因此,了解軟件設(shè)計中的不同架構(gòu)模式對我們的軟件設(shè)計會有較大的關(guān)心。
一、軟件架構(gòu)模式
什么是架構(gòu)模式?架構(gòu)模式是針對特定軟件架構(gòu)場景常見問題的通用、可重用解決方案。架構(gòu)模式類似于軟件設(shè)計模式,但范圍更廣。本文將簡要解釋10種常見架構(gòu)模式及其用法、優(yōu)缺點。
1、分層模式
此模式用于可分解為子任務(wù)的結(jié)構(gòu)化程序,每個子任務(wù)都位于特定的抽象層級,每一層都為上一層供應(yīng)服務(wù)。一般信息系統(tǒng)最常見的4個層次如下。
①表示層(也稱為UI層)
②應(yīng)用層(也稱為服務(wù)層)
③業(yè)務(wù)規(guī)律層(也稱為領(lǐng)域?qū)樱?/p>
④數(shù)據(jù)訪問層(也稱為長久層)
應(yīng)用場景:
①一般的桌面應(yīng)用程序
②電子商務(wù)web應(yīng)用程序
③一般的移動App
2、客戶端-服務(wù)器模式
這種模式由兩部分組成:服務(wù)器和多個客戶端。服務(wù)器將向多個客戶端供應(yīng)服務(wù)。客戶端從服務(wù)器懇求服務(wù),服務(wù)器向這些客戶端供應(yīng)相關(guān)服務(wù)。此外,服務(wù)器連續(xù)偵聽客戶端懇求。
應(yīng)用場景:
①電子郵件、文檔共享和銀行等在線應(yīng)用程序。
②基于IPC的應(yīng)用程序
3、主從模式
這種模式由兩部分組成:主節(jié)點和從節(jié)點。主節(jié)點將工作安排給相同的從節(jié)點,并依據(jù)從節(jié)點返回的結(jié)果計算最終結(jié)果。
應(yīng)用場景:
①在數(shù)據(jù)庫復(fù)制中,主數(shù)據(jù)庫被視為權(quán)威源數(shù)據(jù)庫,從數(shù)據(jù)庫與之同步。
②通過總線連接到計算機系統(tǒng)(主驅(qū)動器和從驅(qū)動器)的外圍設(shè)備。
③進程內(nèi)的多線程應(yīng)用。
4、管道-過濾器模式
這種模式可用于構(gòu)造生成和處理數(shù)據(jù)流的系統(tǒng)。每個處理步驟都包含一個過濾器組件。要處理的數(shù)據(jù)通過管道傳遞。這些管道可用于緩沖或同步目的。
應(yīng)用場景:
①編譯器。連續(xù)過濾器執(zhí)行詞法分析、詞法解析、語義分析和代碼生成。
②生物信息學(xué)的工作流
③工具鏈式的應(yīng)用程序
5、代理模式
這種模式通過解耦組件來構(gòu)造分布式系統(tǒng)。這些組件可以通過遠程服務(wù)調(diào)用彼此交互。代理組件負責(zé)協(xié)調(diào)組件之間的通信。服務(wù)器向代理發(fā)布功能(服務(wù)和特征)。客戶端向代理懇求服務(wù),然后代理將客戶端重定向到合適的服務(wù)。需要留意broker,agent,proxy以及delegate的區(qū)分。
應(yīng)用場景:
①消息代理軟件,例如:ApacheActiveMQ、ApacheKafka、RabbitMQ和JBoss消息傳遞。
②網(wǎng)絡(luò)傳輸中的代理軟件。
6、P2P模式
在這種模式中,每個組件都稱為對等節(jié)點。對等節(jié)點既可以作為客戶機(從其他對等節(jié)點懇求服務(wù)),也可以作為服務(wù)器(向其他對等節(jié)點供應(yīng)服務(wù))。對等節(jié)點可以充當(dāng)單個客戶機或服務(wù)器,也可以同時充當(dāng)客戶機和服務(wù)器,并且可以隨著時間變化動態(tài)地更改角色。
使用場景:
①文件共享網(wǎng)絡(luò),例如Gnutella和G2等。
②多媒體協(xié)議,如P2PTV和PDTP。
7、大事-總線模式
這種模式也被稱為訂閱發(fā)布模式,主要處理大事,有4個主要組件:大事源、大事監(jiān)聽者、通道和大事總線。大事源將消息發(fā)布到大事總線上的特定通道,監(jiān)聽者訂閱特定的通道。消息發(fā)布到監(jiān)聽者之前訂閱的通道,監(jiān)聽者將收到消息的通知。
使用場景:
①安卓開發(fā)
②通知服務(wù)
③注冊中心
8、模型-視圖-掌握器模式
這種模式,也稱為MVC模式,將一個交互應(yīng)用程序分為三個部分:
①模型-包含核心功能和數(shù)據(jù)
②視圖——向用戶顯示信息(可以定義多個視圖)
③掌握器——處理來自用戶的輸入
這樣做是為了將信息的內(nèi)部表示、信息呈現(xiàn)給用戶的方式、接受用戶輸入的方式分別開來。這種模式解耦組件并允許有效的代碼重用。
應(yīng)用場景:
①一般的web應(yīng)用程序架構(gòu)
②Django和Rails等Web框架
③一般的GUI應(yīng)用程序
9、黑板模式
這種模式對于沒有確定解決方案策略的問題特別有用。黑板圖案由三個主要部分組成:
①黑板:一個結(jié)構(gòu)化的全局內(nèi)存,包含來自解決方案空間的對象
②學(xué)問源:具有自己表示形式的特地化模塊
③掌握組件:選擇、配置和執(zhí)行模塊
全部的組件都可以到達黑板。組件可以生成添加到黑板上的新數(shù)據(jù)對象。組件在黑板上查找特定類型的數(shù)據(jù),并通過與現(xiàn)有的學(xué)問源進行模式匹配找到這些數(shù)據(jù)。
應(yīng)用場景:
①語音識別
②車輛識別及追蹤
③蛋白質(zhì)結(jié)構(gòu)識別
④聲納信號的解釋
10、解釋器模式
這種模式用于設(shè)計一個解釋專用語言
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職工業(yè)機器人技術(shù)應(yīng)用(機器人維護基礎(chǔ))試題及答案
- 2026年廚房電器銷售(需求分析)試題及答案
- 2025年高職高聚物生產(chǎn)技術(shù)(高聚物生產(chǎn)應(yīng)用)試題及答案
- 2025年中職煙草栽培與加工(煙草分級技術(shù))試題及答案
- 近七年北京中考物理試題及答案2025
- 養(yǎng)老院老人康復(fù)設(shè)施維修人員晉升制度
- 養(yǎng)老院工作人員保密制度
- 信息技術(shù)合同與項目管理制度
- 工行合規(guī)培訓(xùn)課件
- 2026年醫(yī)師內(nèi)科學(xué)速記題庫含答案
- 神經(jīng)內(nèi)科練習(xí)題庫及答案
- 混凝土監(jiān)控系統(tǒng)方案
- 個人經(jīng)濟糾紛起訴狀6篇
- 口腔修復(fù)學(xué):全口義齒課件
- 膜式壁制造及檢驗工藝演示文稿
- 紅壤區(qū)貧瘠農(nóng)田土壤快速培肥技術(shù)規(guī)程
- 證券市場基礎(chǔ)知識講義全
- 宣城硅鑫新材料有限公司年產(chǎn)1.17萬噸特種硅油系列產(chǎn)品項目環(huán)境影響報告書
- 心肺復(fù)蘇操作考核評分表 (詳)
- 公園建設(shè)項目環(huán)境影響報告書
- 員工就業(yè)規(guī)則
評論
0/150
提交評論