首页
/
每日頭條
/
圖文
/
soa架構和分布式架構區别
soa架構和分布式架構區别
更新时间:2026-01-17 18:43:47

soa架構和分布式架構區别(十年架構師分享)1

模塊

模塊就是從邏輯上将系統分解為更細微的部分, 分而治之, 複雜問題拆解為若幹簡單問題, 逐個解決。

耦合主要描述模塊之間的關系, 内聚主要描述模塊内部。 模塊的粒度可大可小, 可以是函數, 類, 功能塊等等。

soa架構和分布式架構區别(十年架構師分享)2

耦合

模塊之間存在依賴, 導緻改動可能會互相影響, 關系越緊密, 耦合越強, 模塊獨立性越差。

比如模塊A直接操作了模塊B中數據, 則視為強耦合, 若A隻是通過數據與模塊B交互, 則視為弱耦合。

獨立的模塊便于擴展, 維護, 寫單元測試, 如果模塊之間重重依賴, 會極大降低開發效率。

soa架構和分布式架構區别(十年架構師分享)3

内聚

模塊内部的元素, 關聯性越強, 則内聚越高, 模塊單一性更強。 一個模塊應當盡可能獨立完成某個功能,

如果有各種場景需要被引入到當前模塊, 代碼質量将變得非常脆弱, 這種情況建議拆分為多個模塊。

低内聚的模塊代碼, 不管是維護, 擴展還是重構都相當麻煩, 難以下手。

soa架構和分布式架構區别(十年架構師分享)4

接口設計原則

好的接口應當滿足設計模式六大原則, 很多設計模式, 框架都是基于高内聚低耦合這個出發點的。

  • 單一職責原則:一個類隻負責一個功能領域中的相應職責。
  • 開閉原則:一個軟件實體應當對擴展開放,對修改關閉。
  • 裡氏代換原則:所有引用基類(父類)的地方必須能透明地使用其子類的對象。
  • 依賴倒轉原則:抽象不應該依賴于細節, 細節應當依賴于抽象。 換言之, 要針對接口編程, 而不是針對實現編程。
  • 接口隔離原則:使用多個專門的接口, 而不使用單一的總接口, 即客戶端不應該依賴那些它不需要的接口。
  • 迪米特法則: 一個軟件實體應當盡可能少地與其他實體發生相互作用, 例如外觀模式, 對外暴露統一接口。

soa架構和分布式架構區别(十年架構師分享)5

舉幾個栗子

外觀模式

為系統中多個子系統提供一緻的對外調用, 對客戶端隐藏子系統細節, 降低其與子系統的耦合。

soa架構和分布式架構區别(十年架構師分享)6

橋接模式

JDBC中的把面向廠商的接口(Driver)和面向使用者的API(DriverManager)做了拆分隔離。

// 開發者隻需要關注JDBC API, 無需關注不同數據庫Driver接口實現 Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password);

soa架構和分布式架構區别(十年架構師分享)7

橋接模式參考:橋接模式(Bridge)

适配器模式

引入第三方庫(hibernate, log4j), 不應該直接在代碼中繼承或者使用其實體類。

需要抽出上層統一接口, 然後增加實現類, 對外暴露接口。

// 代碼與log4j強耦合, 不推薦 org.apache.log4j.Logger.getRootLogger().info("info"); // 底層可以随意更換log框架 FRLoggerFactory.getLogger().info("info");

soa架構和分布式架構區别(十年架構師分享)8

end:如果你覺得本文對你有幫助的話,記得點贊轉發,你的支持就是我更新動力。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
殺顔真卿最兇的人是誰(博物雜志編輯居然稱)
殺顔真卿最兇的人是誰(博物雜志編輯居然稱)
  【博物雜志編輯居然稱“看顔杲卿被殺很過瘾” 結果被停職處理】博物雜志編輯稱,“小時候看顔杲卿被殺的故事覺得很過瘾。”言論近日引起網民輿論。北京時間15日下午,“博物雜志”也在微博公布針對董子凡的處理意見,稱已經嚴厲批評,董子凡将停職反省。      版權聲明:如涉及版權問題,請作者持權屬證明與本網聯系   ,
2026-01-17
澳大利亞1
澳大利亞1
  根據澳大利亞氣象局(BOM)的初步數據統計,昨天(17日)是澳大利亞自有氣象記錄以來的最熱的一天。全國平均氣溫為40.9℃,打破了2013年1月創下的40.3℃的紀錄,但根據預測,這一紀錄不可能持續很長時間。随着炙熱的空氣在全國範圍内移動,預計未來幾天氣溫将繼續升高。      △澳大利亞18日全國各地氣溫分布圖(圖片來源:澳大利亞氣象局)   17日,...
2026-01-17
懷念ag 老成員(AG雜志樂手專訪來自納什維爾的作曲人兼樂手Darrell)
懷念ag 老成員(AG雜志樂手專訪來自納什維爾的作曲人兼樂手Darrell)
  在看到 4 個月的比利牛斯犬 Angus 和活 潑的澳大利亞牧羊犬 Miller 之後,就知 道快到 Darrell Scott 的家了,兩隻狗狗會在 石子路上蹦蹦跳跳,伸出舌頭,搖着尾巴。它 們本是用來看護羊群,免受納什維爾東部 100 公裡之外在坎伯蘭高原林區的山上四處覓食的 土狼和野豬的侵擾,不過不論何時,隻要有人來, 它們都會非常高興。小狗會馬上...
2026-01-17
聶遠妻子秦子越家庭背景(聶遠攜愛妻秦子越低調現身機場)
聶遠妻子秦子越家庭背景(聶遠攜愛妻秦子越低調現身機場)
  今天,有媒體曝光了一組近日聶遠與妻子秦子越一同回京的照片中。夫妻倆戴着口罩、帽子低調現身,全程雙手緊握,小動作恩愛又甜蜜,在機場默默地秀了一波恩愛~      去年,聶遠憑借《延禧攻略》、《皓镧傳》這兩部熱播劇再次翻紅,也收獲了“大豬蹄子”的稱号。雖然在戲中是“大豬蹄子”,但到了劇外,聶遠卻是一位對妻子、女兒極盡寵愛的好丈夫,好爸爸。      當天,聶...
2026-01-17
養老生活别提有多舒心(養老生活越過越甜)
養老生活别提有多舒心(養老生活越過越甜)
     9月19日,鄭州市金水區梓聞社會工作服務中心的社工陪伴老人練習書法。本報記者 王铮 攝   □本報記者 王向前   今年10月1日,《河南省養老服務條例》(以下簡稱《條例》)将施行。為貫徹實施好《條例》,9月23日,省政府新聞辦舉行新聞發布會,發布河南養老服務發展願景。   疏通“堵點”,《條例》肩負重大責任   我省60歲以上人口1796萬人,占...
2026-01-17
Copyright 2023-2026 - www.tftnews.com All Rights Reserved