日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

什么是架構(gòu)和架構(gòu)本質(zhì)

2021-11-30 08:53:29·  來源:汽車底盤之家  
 
在軟件行業(yè),對于什么是架構(gòu),都有很多的爭論,每個人都有自己的理解。此君說的架構(gòu)和彼君理解的架構(gòu)未必是一回事。因此我們在討論架構(gòu)之前,我們先討論架構(gòu)的概
在軟件行業(yè),對于什么是架構(gòu),都有很多的爭論,每個人都有自己的理解。此君說的架構(gòu)和彼君理解的架構(gòu)未必是一回事。因此我們在討論架構(gòu)之前,我們先討論架構(gòu)的概念定義,概念是人認(rèn)識這個世界的基礎(chǔ),并用來溝通的手段,如果對架構(gòu)概念理解不一樣,那溝通起來自然不順暢。
Linux有架構(gòu),MySQL有架構(gòu),JVM也有架構(gòu),使用Java開發(fā)、MySQL存儲、跑在Linux上的業(yè)務(wù)系統(tǒng)也有架構(gòu),應(yīng)該關(guān)注哪一個?想要清楚以上問題需要梳理幾個有關(guān)系又相似的概念:系統(tǒng)與子系統(tǒng)、模塊與組建、框架與架構(gòu):
1.1. 系統(tǒng)與子系統(tǒng)
系統(tǒng):泛指由一群有關(guān)聯(lián)的個體組成,根據(jù)某種規(guī)則運(yùn)作,能完成個別元件不能獨(dú)立完成的工作能力的群體。
子系統(tǒng):也是由一群關(guān)聯(lián)的個體組成的系統(tǒng),多半是在更大的系統(tǒng)中的一部分。
1.2. 模塊與組件
都是系統(tǒng)的組成部分,從不同角度拆分系統(tǒng)而已。模塊是邏輯單元,組件是物理單元。
模塊就是從邏輯上將系統(tǒng)分解, 即分而治之, 將復(fù)雜問題簡單化。模塊的粒度可大可小, 可以是系統(tǒng),幾個子系統(tǒng)、某個服務(wù),函數(shù), 類,方法、 功能塊等等。
組件可以包括應(yīng)用服務(wù)、數(shù)據(jù)庫、網(wǎng)絡(luò)、物理機(jī)、還可以包括MQ、容器、Nginx等技術(shù)組件。
1.3. 框架與架構(gòu)
框架是組件實(shí)現(xiàn)的規(guī)范,例如:MVC、MVP、MVVM等,是提供基礎(chǔ)功能的產(chǎn)品,例如開源框架:Ruby on Rails、Spring、Laravel、Django等,這是可以拿來直接使用或者在此基礎(chǔ)上二次開發(fā)。
框架是規(guī)范,架構(gòu)是結(jié)構(gòu)。
我在這重新定義架構(gòu):軟件架構(gòu)指軟件系統(tǒng)的頂層結(jié)構(gòu)。
架構(gòu)是經(jīng)過系統(tǒng)性地思考, 權(quán)衡利弊之后在現(xiàn)有資源約束下的最合理決策, 最終明確的系統(tǒng)骨架: 包括子系統(tǒng), 模塊, 組件. 以及他們之間協(xié)作關(guān)系, 約束規(guī)范, 指導(dǎo)原則.并由它來指導(dǎo)團(tuán)隊(duì)中的每個人思想層面上的一致。涉及四方面:
  • 系統(tǒng)性思考的合理決策:比如技術(shù)選型、解決方案等。
  • 明確的系統(tǒng)骨架:明確系統(tǒng)有哪些部分組成。
  • 系統(tǒng)協(xié)作關(guān)系:各個組成部分如何協(xié)作來實(shí)現(xiàn)業(yè)務(wù)請求。
  • 約束規(guī)范和指導(dǎo)原則:保證系統(tǒng)有序,高效、穩(wěn)定運(yùn)行。
因此架構(gòu)師具備能力:理解業(yè)務(wù),全局把控,選擇合適技術(shù),解決關(guān)鍵問題、指導(dǎo)研發(fā)落地實(shí)施。
架構(gòu)的本質(zhì)就是對系統(tǒng)進(jìn)行有序化地重構(gòu)以致符合當(dāng)前業(yè)務(wù)的發(fā)展,并可以快速擴(kuò)展。
那什么樣的系統(tǒng)要考慮做架構(gòu)設(shè)計 技術(shù)不會平白無故的出和自驅(qū)動發(fā)展起來,而架構(gòu)的發(fā)展和需求是基于業(yè)務(wù)的驅(qū)動。
架構(gòu)設(shè)計完全是為了業(yè)務(wù),
  • 需求相對復(fù)雜.
  • 非功能性需求在整個系統(tǒng)占據(jù)重要位置.
  • 系統(tǒng)生命周期長,有擴(kuò)展性需求.
  • 系統(tǒng)基于組件或者集成的需要.
  • 業(yè)務(wù)流程再造的需要.
分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25