溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

全球有名的架構(gòu)有哪些

發(fā)布時(shí)間:2021-10-14 10:04:23 來(lái)源:億速云 閱讀:148 作者:iii 欄目:編程語(yǔ)言

這篇文章主要講解了“全球有名的架構(gòu)有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“全球有名的架構(gòu)有哪些”吧!

理解架構(gòu)

全球有名的架構(gòu)目前分為四種:

1、Clean架構(gòu):一種分層的架構(gòu)方式,將核心業(yè)務(wù)(對(duì)應(yīng)domain層)、UI相關(guān)(對(duì)應(yīng)presenter層)以及數(shù)據(jù)加載(對(duì)應(yīng)data層)彼此獨(dú)立開(kāi)來(lái),不同的層之間由接口依次連接起來(lái),但卻又彼此不了解彼此的具體實(shí)現(xiàn)。

全球有名的架構(gòu)有哪些

2、DCI架構(gòu):DCI是數(shù)據(jù)Data 場(chǎng)景Context 交互Interactions的簡(jiǎn)稱,DCI是一種特別關(guān)注行為的模式(可以對(duì)應(yīng)GoF行為模式)。DCI架構(gòu)真正含義可以歸結(jié)如下:

  • 1.數(shù)據(jù)data:是領(lǐng)域?qū)ο笾写眍I(lǐng)域類(lèi)概念的那部分。

  • 2.場(chǎng)景context:根據(jù)運(yùn)行時(shí)即時(shí)調(diào)用,將活的對(duì)象實(shí)例帶到符合用例需求的場(chǎng)景中

  • 3.交互interactions, 描述需求用戶心目中角色的活動(dòng)算法。

全球有名的架構(gòu)有哪些

3、DDD領(lǐng)域驅(qū)動(dòng)設(shè)計(jì):2004年著名建模專家Eric Evans發(fā)表了他最具影響力的著名書(shū)籍:Domain-Driven Design –Tackling Complexity in the Heart of Software(中文譯名:領(lǐng)域驅(qū)動(dòng)設(shè)計(jì) 2006年3月清華出版社譯本,或稱 Domain Driven-Design architecture [Evans DDD])。軟件的產(chǎn)生過(guò)程是:分析、設(shè)計(jì)、編程、測(cè)試、部署。過(guò)去,分析領(lǐng)域和軟件設(shè)計(jì)是分裂的,分析人員從領(lǐng)域中收集基本概念;而設(shè)計(jì)必須指明一組能在項(xiàng)目中適應(yīng)編程工具構(gòu)造的組件,這些組件必須能夠在目標(biāo)環(huán)境中有效執(zhí)行,并能夠正確解決應(yīng)用程序出現(xiàn)的問(wèn)題。模型設(shè)計(jì)設(shè)計(jì)(Model-Driven Design)拋棄了分裂分析模型與設(shè)計(jì)的做法,使用單一的模型來(lái)滿足這兩方面的要求。這就是領(lǐng)域模型。

全球有名的架構(gòu)有哪些

4、六邊形架構(gòu)架構(gòu):六邊形架構(gòu)(Hexagonal Architecture),又稱為端口和適配器架構(gòu)風(fēng)格,其中的“六”具體數(shù)字沒(méi)有特殊的含義,僅僅表示一個(gè)“量級(jí)”的意思,六邊形的定義只是方便更加形象的理解。我們知道分層架構(gòu)的重要作用就是避免耦合的出現(xiàn),經(jīng)典分層架構(gòu)和六邊形架構(gòu)都是分層架構(gòu)的一種,但是所發(fā)揮的作用會(huì)有些不同,經(jīng)典分層架構(gòu)更多的精力放在抽象的分離上,每個(gè)層的職責(zé)分的很明確,各個(gè)層的依賴關(guān)系更加抽象化,從而避免耦合的出現(xiàn),而在六邊形架構(gòu)中,是用“組件化”的形式來(lái)避免耦合的出現(xiàn),每個(gè)業(yè)務(wù)單元盡可能的最小化,然后把這些業(yè)務(wù)組件集合起來(lái),用一個(gè)錘子把他們都拍扁,所以,在整個(gè)集合中,這些小的業(yè)務(wù)單元都是“平等的”,這種方式用一個(gè)詞來(lái)概括,那就是“扁平化”。

全球有名的架構(gòu)有哪些

三、設(shè)計(jì)模式

設(shè)計(jì)模式(Design Pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類(lèi)的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式的目的:為了代碼可重用性、讓代碼更容易被他人理解、保證代碼可靠性。 設(shè)計(jì)模式使代碼編寫(xiě)真正工程化;設(shè)計(jì)模式是軟件工程的基石脈絡(luò),如同大廈的結(jié)構(gòu)一樣。

1、設(shè)計(jì)模式的重要性:

  • 設(shè)計(jì)模式是高級(jí)軟件工程師和架構(gòu)師面試基本必問(wèn)的項(xiàng)目(先通過(guò)面試進(jìn)入這個(gè)門(mén)檻我們?cè)僬勂渌?/p>

  • 設(shè)計(jì)模式是經(jīng)過(guò)大量實(shí)踐檢驗(yàn)的安全高效可復(fù)用的解決方案。不要重復(fù)發(fā)明輪子,而且大多數(shù)時(shí)候你發(fā)明的輪子還沒(méi)有已有的好

  • 設(shè)計(jì)模式是被主流工程師/架構(gòu)師所廣泛接受和使用的,你使用它,方便與別人溝通,也方便別人code review(這個(gè)夠?qū)嵲诎桑?/p>

  • 使用設(shè)計(jì)模式可以幫你快速解決80%的代碼設(shè)計(jì)問(wèn)題,從而讓你更專注于業(yè)務(wù)本身

  • 設(shè)計(jì)模式本身是對(duì)幾大特性的利用和對(duì)幾大設(shè)計(jì)原則的踐行,代碼量積累到一定程度,你會(huì)發(fā)現(xiàn)你已經(jīng)或多或少的在使用某些設(shè)計(jì)模式了

  • 架構(gòu)師或者team leader教授初級(jí)工程師設(shè)計(jì)模式,可以很方便的以大家認(rèn)可以方式提高初級(jí)工程師的代碼設(shè)計(jì)水平,從而有利于提高團(tuán)隊(duì)工程實(shí)力

四、代碼形式

  • 這樣子解釋架構(gòu)、設(shè)計(jì)模式應(yīng)該能讓你更加了解它:

  • 我現(xiàn)在要蓋一棟房子(需求),房子當(dāng)然要蓋得漂亮大方美觀一點(diǎn)去把全國(guó)最有名的設(shè)師Jack叫過(guò)來(lái)把我的房子先設(shè)計(jì)出來(lái)讓我看一看(架構(gòu)師),恩Jack果然是老司機(jī)設(shè)計(jì)的我很滿意不過(guò)這個(gè)房子的左邊不要蓋出來(lái)要留出來(lái)一部分讓我以后的孩子來(lái)用,還有右上角要多加個(gè)走廊還有房子的院前要留出啦一部分當(dāng)花園,針對(duì)這么多需要更變Jack爽快的答應(yīng)了,一點(diǎn)也不苦惱因?yàn)镴ack早就想到會(huì)變更偷偷運(yùn)用了自己總結(jié)了一生的方案(設(shè)計(jì)模式)。好了搬磚的搬磚、砌墻的砌墻、工人們依靠Jack給出的設(shè)計(jì)愉快的蓋著房子(程序員)。

感謝各位的閱讀,以上就是“全球有名的架構(gòu)有哪些”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)全球有名的架構(gòu)有哪些這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI