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

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
推荐阅读
香港和勝和最新選坐館消息(和勝和坐館雞腳黑)
香港和勝和最新選坐館消息(和勝和坐館雞腳黑)
  他曾因愛人被掌掴,号令社團衆人,直接殺到仇家總部,将仇家的臉面按在地下摩擦。   曾經不可一世的黑幫新義安,被他澆滅了嚣張氣焰,對他退避三舍。   他就是香港黑幫“和勝和坐館”,“雞腳黑”。      50年代“雞腳黑”出生于香港,原名招國強。在“雞腳黑”出生直至他懂事的時候,他的家世在當地都稱得上“大戶人家”。   自幼“雞腳黑”便過着錦衣玉食,衣來張...
2026-01-15
冬季寒潮是冷鋒還是反氣旋(寒潮是反氣旋還是冷鋒)
冬季寒潮是冷鋒還是反氣旋(寒潮是反氣旋還是冷鋒)
  答:   寒潮:大範圍的強烈的冷空氣活動。侵襲我國的寒潮來自亞歐大陸上的冷高壓活動。故,寒潮是反氣旋。   冷鋒:冷空氣向暖空氣方向移動的鋒。冬季,形成于蒙古、西伯利亞的強大的冷高壓經常活動,并常常南下進入我國,形成寒潮。此時,冷空氣向暖空氣方向移動。故,寒潮是冷鋒。   寒潮屬于天氣現象,且屬于一種災害天氣現象。反氣旋、冷鋒屬于天氣系統。非要把兩挂上鈎...
2026-01-15
蜜獾能跑得過老虎嗎(如果蜜獾遇上老虎)
蜜獾能跑得過老虎嗎(如果蜜獾遇上老虎)
  蜜獾作為非洲大草原上的一代戰神,人送外号“平頭哥”。号稱終身不是在打架,就是在去打架的路上。管你是誰,生死看淡不服就幹。于是就有人想到,如果老虎和蜜獾撞在了一起,那會怎麼樣?雖然有人說,蜜獾和老虎撞在一起的概率幾乎為0,但是這不能阻止我們進行設想啊。      這位是現在歐亞大陸公認的森林之王,紋身哥——老虎      紋身哥:搞事,搞事,搞事,叫平頭的...
2026-01-15
五年級數學簡便運算題20道有答案(五年級數學簡便運算方法)
五年級數學簡便運算題20道有答案(五年級數學簡便運算方法)
     在孩子的小學數學中,數學的學習,基本内容包含:對數的認識,數的運算,圖形的認識以及運算,還有就是對數的應用,這幾個部分,但是在從1年級到6年級一直學習的一項内容,而且貫穿始終的,那就是簡便運算。   在整數範圍、小數範圍、分數範圍内都會作為一個内容重複出現,而這個内容也正是小學數學中的一個難點。   一、提取公因式   這個方法實際上是運用了乘法分...
2026-01-15
為什麼現在單身的特别多(單身為什麼越來越多了)
為什麼現在單身的特别多(單身為什麼越來越多了)
  “這一晃,十來年過去了……唉是啊,我一直單着,你也是。哦,你離了?咳,也好……”   前不久,小編和一些多年不見的老同學聚會,二十來個人,無論男女,超過一半都單身。   其中三個人,之前結過婚,後來都離了,獨自生活。   這大概就是當今社會的一個切片。      就小編我所知,那些和我基本同齡的熟人,常年一個人過日子的,多得是。   我的老媽,前些年也沒...
2026-01-15
Copyright 2023-2026 - www.tftnews.com All Rights Reserved