【軟件架構篇】常見可擴展模式

1、可擴展

為了實現(xiàn)一個需求,需要修改系統(tǒng)代碼時,若修改代碼對已存在的功能影響非常小,那么說明原有系統(tǒng)的可擴展性高;若修改代碼對已存在的功能影響非常大,那么說明原有系統(tǒng)的可擴展性低。

設計一個系統(tǒng)時,需要考慮可擴展性,以當下次對系統(tǒng)進行修改時,減小對系統(tǒng)已有功能的影響程度??蓴U展性需要在后續(xù)接到新需求時才能被檢驗。

設計可擴展時用的方法,萬變不離其中,一個字即拆,以此來實現(xiàn)高內(nèi)聚,低耦合。

2、常見可擴展模式

根據(jù)不同的拆分方式,將得到不同的可擴展架構模式。
面向流程拆分:分層架構。
面向服務拆分:SOA和微服務。
面向功能拆分:微內(nèi)核架構。

流程、服務、功能,根據(jù)范圍由大到小依次為流程>服務>功能。

3、分層架構

常見的分層架構有MVC,model層又分為業(yè)務邏輯層、數(shù)據(jù)層等。
使用場景:實現(xiàn)后端API的典型分層架構。

4、SOA

使用場景:對于一些傳統(tǒng)公司而言,公司內(nèi)部有很多個系統(tǒng),并且這些系統(tǒng)很少變動、使用時間比較長,系統(tǒng)開放接口的形式很不一樣。公司為了集成各個系統(tǒng),通過ESB作為中間件負責各個系統(tǒng)的消息轉換。

5、微服務

對于互聯(lián)網(wǎng)系統(tǒng)來說,如果繼續(xù)使用ESB,ESB本身也將成為系統(tǒng)瓶頸?;ヂ?lián)網(wǎng)系統(tǒng)采用去中心化的方式,讓各個服務之間相互調(diào)用,這樣帶來的一個副作用是各個服務之間的開放接口需要統(tǒng)一。

互聯(lián)網(wǎng)業(yè)務的典型特點有:用戶數(shù)量大、業(yè)務發(fā)展迅速。

6、微內(nèi)核架構

一般比較復雜的單機應用可采用微內(nèi)核架構,比如操作系統(tǒng)、Eclipse等。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容