0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

架構(gòu)模式的基礎(chǔ)知識(shí)

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 2023-06-13 16:13 ? 次閱讀

作為軟件工程師,為什么至少要學(xué)習(xí)基本的架構(gòu)模式? 我相信有很多人回答了這個(gè)問題,但我會(huì)給你一些考慮的理由。 首先,如果您了解架構(gòu)模式的基礎(chǔ)知識(shí),那么您就更容易遵循架構(gòu)師的要求。 其次,了解這些模式將有助于您在代碼中做出決策:例如,如果您的應(yīng)用程序設(shè)計(jì)基于事件驅(qū)動(dòng)的微服務(wù),那么作為軟件工程師,您必須將您的代碼解耦為一個(gè)單獨(dú)的服務(wù),如果您注意到日益增加的復(fù)雜性和現(xiàn)有服務(wù)中的邏輯責(zé)任。 Mark Richards 在書中描述了 5 種模式:

分層架構(gòu)

事件驅(qū)動(dòng)架構(gòu)

微內(nèi)核架構(gòu)(或插件架構(gòu))

微服務(wù)架構(gòu)

基于空間的架構(gòu)(或云架構(gòu)模式)

1.分層架構(gòu)

它是單體應(yīng)用程序最常見的架構(gòu)。該模式背后的基本思想是將應(yīng)用程序邏輯劃分為若干層,每一層都封裝了特定的角色。例如,持久層將負(fù)責(zé)您的應(yīng)用程序與數(shù)據(jù)庫引擎的通信。

f745763a-0900-11ee-962d-dac502259ad0.png

2.事件驅(qū)動(dòng)架構(gòu)

這種模式背后的想法是將應(yīng)用程序邏輯解耦為異步接收和處理事件的單一用途事件處理組件。這種模式是流行的分布式異步架構(gòu)模式之一,以高可擴(kuò)展性和適應(yīng)性著稱。

f76d601e-0900-11ee-962d-dac502259ad0.png

3. 微內(nèi)核架構(gòu)

Mikrokernel 架構(gòu),也稱為插件架構(gòu),是具有兩個(gè)主要組件的設(shè)計(jì)模式:核心系統(tǒng)和插件模塊(或擴(kuò)展)。一個(gè)很好的例子是Web 瀏覽器(核心系統(tǒng)),您可以在其中安裝無窮無盡的擴(kuò)展(或插件)。

f7774cbe-0900-11ee-962d-dac502259ad0.png

4. 微服務(wù)架構(gòu)

微服務(wù)架構(gòu)由單獨(dú)部署的服務(wù)組成,理想情況下,每個(gè)服務(wù)都有單一的職責(zé)。這些服務(wù)相互獨(dú)立,如果一項(xiàng)服務(wù)失敗,其他服務(wù)將不會(huì)停止運(yùn)行。

f79aae2a-0900-11ee-962d-dac502259ad0.png

5. 基于空間的架構(gòu)

基于空間的模式背后的主要思想是分布式共享內(nèi)存,以緩解在數(shù)據(jù)庫級(jí)別經(jīng)常發(fā)生的問題。假設(shè)通過使用內(nèi)存數(shù)據(jù)處理大多數(shù)操作,我們可以避免數(shù)據(jù)庫中的額外操作,因此可能會(huì)從那里演變出任何未來的問題(例如,如果您的用戶活動(dòng)數(shù)據(jù)實(shí)體已更改,您不需要更改一堆持久化的代碼并從數(shù)據(jù)庫中檢索該數(shù)據(jù))。 基本方法是將應(yīng)用程序分成處理單元(可以根據(jù)需要自動(dòng)擴(kuò)展和縮減),其中數(shù)據(jù)將在這些單元之間復(fù)制和處理,而無需對(duì)中央數(shù)據(jù)庫進(jìn)行任何持久性(盡管將有本地存儲(chǔ)用于系統(tǒng)故障的場(chǎng)合)。

f7e5f5a6-0900-11ee-962d-dac502259ad0.png
責(zé)任編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3799

    瀏覽量

    64389
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68612
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    37

    文章

    3268

    瀏覽量

    57705

原文標(biāo)題:幾個(gè)軟件架構(gòu)模式

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA架構(gòu)和應(yīng)用基礎(chǔ)知識(shí)

    ASIC慢3到4倍。本文介紹了FPGA的基礎(chǔ)知識(shí)和FPGA架構(gòu)模塊,包括I / O焊盤,邏輯塊和開關(guān)矩陣。FPGA是VLSI的一些新興趨勢(shì)領(lǐng)域。FPGA架構(gòu)通用FPGA架構(gòu)由三種類型的
    發(fā)表于 12-14 17:39

    ARM架構(gòu)基礎(chǔ)知識(shí)小結(jié)

    從單片機(jī)轉(zhuǎn)到ARM —— ARM架構(gòu)基礎(chǔ)知識(shí)小結(jié)從單片機(jī)轉(zhuǎn)到ARM,主要需要學(xué)習(xí)ARM的架構(gòu),ARM相比單片機(jī)多了一些外設(shè)和總線。在僅僅是裸奔的情況下,如果熟悉了ARM架構(gòu),那么可以認(rèn)
    發(fā)表于 05-12 17:06

    ARM架構(gòu)基礎(chǔ)知識(shí)小結(jié)

    從單片機(jī)轉(zhuǎn)到ARM ―― ARM架構(gòu)基礎(chǔ)知識(shí)小結(jié)
    發(fā)表于 12-29 06:16

    【HarmonyOS基礎(chǔ)知識(shí)】HarmonyOS系統(tǒng)架構(gòu)

    這個(gè)視頻帶大家揭秘HarmonyOS基礎(chǔ)知識(shí)之HarmonyOS系統(tǒng)架構(gòu),一起來看看?
    發(fā)表于 01-19 18:32

    ARM架構(gòu)基礎(chǔ)知識(shí)點(diǎn)匯總

    之所以更復(fù)雜,當(dāng)然是為了跑更快以及更好地支持片上系統(tǒng),所以在某種程度上來說對(duì)片上系統(tǒng)不是很了解的話那對(duì)于ARM架構(gòu)的理解也不會(huì)那么深。ARM架構(gòu)基礎(chǔ)知識(shí)小結(jié)通用寄存器R13通常被用作棧指針,進(jìn)入異...
    發(fā)表于 12-13 06:26

    一種基于軟件+服務(wù)平臺(tái)的軟件架構(gòu)模式

    本文在介紹軟件+服務(wù)平臺(tái)的概念的基礎(chǔ)上,設(shè)計(jì)了一種基于軟件+服務(wù)平臺(tái)的軟件架構(gòu)模式,并對(duì)其核心組件進(jìn)行了說明,最后通過分析該架構(gòu)的使用效果,從而說明了該架構(gòu)具有
    發(fā)表于 06-10 10:33 ?27次下載

    軟件架構(gòu)設(shè)計(jì)之常用架構(gòu)模式

    分層架構(gòu):分層架構(gòu)是使用最多的架構(gòu)模式,通過分層使各個(gè)層的職責(zé)更加明確,通過定義的接口使各層之間通訊,上層使用下層提供的服務(wù)。分層分為:嚴(yán)格意義上的分層,一般意義的
    發(fā)表于 06-22 18:35 ?4447次閱讀

    軟件架構(gòu)設(shè)計(jì)之常用架構(gòu)模式介紹

    1.分層架構(gòu):分層架構(gòu)是使用最多的架構(gòu)模式,通過分層使各個(gè)層的職責(zé)更加明確,通過定義的接口使各層之間通訊,上層使用下層提供的服務(wù)。分層分為:嚴(yán)格意義上的分層,一般意義的分層。嚴(yán)格意義的分層是n+1層
    發(fā)表于 12-01 11:59 ?408次閱讀

    10種常見的軟件體系架構(gòu)模式分析以及它們的用法、優(yōu)缺點(diǎn)

    架構(gòu)模式是一個(gè)通用的、可重用的解決方案,用于在給定上下文中的軟件體系結(jié)構(gòu)中經(jīng)常出現(xiàn)的問題。架構(gòu)模式與軟件設(shè)計(jì)模式類似,但具有更廣泛的范圍。
    的頭像 發(fā)表于 01-31 12:39 ?2.2w次閱讀
    10種常見的軟件體系<b class='flag-5'>架構(gòu)模式</b>分析以及它們的用法、優(yōu)缺點(diǎn)

    詳解SOA五種基本架構(gòu)模式

    本文詳細(xì)解說了SOA五種基本架構(gòu)模式,面向服務(wù)的架構(gòu)(SOA)已成為連接復(fù)雜服務(wù)系統(tǒng)的主要解決方案。雖然SOA的理論很容易理解,但要部署一個(gè)設(shè)計(jì)良好、真正實(shí)用的SOA系統(tǒng)卻非常困難。本文試圖通過解析SOA的模式,提供與
    的頭像 發(fā)表于 02-07 14:41 ?2.1w次閱讀
    詳解SOA五種基本<b class='flag-5'>架構(gòu)模式</b>

    軟件架構(gòu)模式的詳細(xì)資料介紹

    對(duì)程序員來說很常??種情況是在沒有合理的程序架構(gòu)時(shí)就開始編程,沒有?個(gè)清晰的和定義好的架構(gòu)的時(shí)候,?多數(shù)開發(fā)者和架構(gòu)師通常會(huì)使?標(biāo)準(zhǔn)式的傳統(tǒng)分層架構(gòu)模式(也被稱為多層
    發(fā)表于 03-26 08:00 ?0次下載
    軟件<b class='flag-5'>架構(gòu)模式</b>的詳細(xì)資料介紹

    MVC架構(gòu)模式為什么悄然消失了

    MVC這門技術(shù)伴隨著我的成長(zhǎng),感情和Java一樣深厚,但是,最近兩年卻不得不和MVC說再見了。是的,不是Struts沒了,也不是SpringMVC沒了,而是MVC這種架構(gòu)模式被淘汰了。
    的頭像 發(fā)表于 04-12 19:18 ?5328次閱讀

    嵌入式7種架構(gòu)模式分析

    ? 嵌入式軟件因?yàn)橛布Y源限制,可能存在驅(qū)動(dòng)與應(yīng)用耦合的情況,但對(duì)于大型項(xiàng)目,資源充裕的情況下,復(fù)雜的業(yè)務(wù)邏輯、后續(xù)擴(kuò)展維護(hù)的需要,必須采用分層和模塊化思維,這種思想就是架構(gòu)模式。一般分7種架構(gòu)模式
    的頭像 發(fā)表于 06-13 15:31 ?4542次閱讀
    嵌入式7種<b class='flag-5'>架構(gòu)模式</b>分析

    嵌入式軟件最常見的架構(gòu)模式

    嵌入式軟件因?yàn)橛布Y源限制,可能存在驅(qū)動(dòng)與應(yīng)用耦合的情況,但對(duì)于大型項(xiàng)目,資源充裕的情況下,復(fù)雜的業(yè)務(wù)邏輯、后續(xù)擴(kuò)展維護(hù)的需要,必須采用分層和模塊化思維,這種思想就是架構(gòu)模式。一般分7種架構(gòu)模式
    的頭像 發(fā)表于 06-22 10:32 ?2560次閱讀
    嵌入式軟件最常見的<b class='flag-5'>架構(gòu)模式</b>

    淺談多機(jī)房部署的災(zāi)備架構(gòu)模式

    互聯(lián)網(wǎng)常見的高可用手段。比如服務(wù)冗余部署、異步化設(shè)計(jì)、負(fù)載均衡、服務(wù)限流降級(jí)熔斷、架構(gòu)拆分、服務(wù)治理、分布式存儲(chǔ)等等,今天主要是一起聊下,多機(jī)房部署的災(zāi)備架構(gòu)模式,來確保服務(wù)的高可用。
    的頭像 發(fā)表于 07-11 11:31 ?2490次閱讀
    淺談多機(jī)房部署的災(zāi)備<b class='flag-5'>架構(gòu)模式</b>