首页
/
每日頭條
/
圖文
/
soa架構和分布式架構區别
soa架構和分布式架構區别
更新时间:2026-08-28 01:27:40

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
推荐阅读
荒野大镖客2線上版本還需要買嗎(救贖2OL部分不會影響GTAOL)
荒野大镖客2線上版本還需要買嗎(救贖2OL部分不會影響GTAOL)
  Take-Two似乎對《荒野大镖客:救贖2》的OL部分很有自信。在最近的季度财務電話會議上,Take-Two高層Strauss Zelnick被問到《荒野大镖客:救贖2》是否會推出OL部分以及與《GTAOL》的關系時,他是這麼回答的:      “娛樂的體驗是不同的,在這款遊戲中的體驗很難在另外一款遊戲中找到。你不會想‘我現在需要娛樂’。娛樂是你想要一直...
2026-08-28
t台和街頭風格(這場8000公裡T台秀時尚酷炫)
t台和街頭風格(這場8000公裡T台秀時尚酷炫)
  ​      時尚絕緣體的我,一直理解不了貴圈标榜的時尚,對模特走秀也嗤之以鼻,卻饒有興緻地把下面這條T台秀廣告看了好些遍。   真的,好看。   80 hundred kilometers   Is the distance from Denmark to China   從丹麥到中國,距離8000公裡   We're not sure how man...
2026-08-28
王一博無名路演回答問題(無名路演有趣王一博斥黑粉)
王一博無名路演回答問題(無名路演有趣王一博斥黑粉)
  春節檔大戰還在繼續,由程耳執導梁朝偉王一博周迅主演的《無名》正在有條不紊地到指定城市的某個影院進行路演宣傳,正如一開始計劃的那樣。      《無名》講述的是上世紀二十年代奮鬥在上海的中共特科在隐蔽戰線裡與各方勢力殊死較量,以緻敬走向勝利過程中不可或缺的黨的秘密戰線上的那些無名英雄。   無名所選的路演城市也是當年被日軍轟炸過的,甚至路演順序與轟炸順序一...
2026-08-28
漫威鋼鐵俠淚目瞬間(漫威最燒錢的片段)
漫威鋼鐵俠淚目瞬間(漫威最燒錢的片段)
  喜歡漫威電影的小夥伴大家好,我是皮影匠!漫威電影之所以如此成功,除了精彩故事的設定以外,還有逼真的特效。衆所周知特效越多投資越高,就是因為漫威舍得花錢,才會帶來這麼多精彩的作品。那麼你知道在《複聯4》中哪些片段最燒錢嗎?         首先就是複仇者為了尋找寶石,準備穿越回到過去時的片段。除了演員是真實的以外,包括複仇者穿戴的戰甲全部都是特效合成的。根...
2026-08-28
15萬到20萬中型suv哪一款值得選擇(綜合性價比比較高的三款中型SUV)
15萬到20萬中型suv哪一款值得選擇(綜合性價比比較高的三款中型SUV)
  對于大部分的消費者來說,20萬左右的中型SUV具有很強的實用價值,畢竟國内大部分這個級别消費者的核心訴求就是為了代步,說白了就是坐着舒服、開着舒服、用着放心,今天我就為大家挑選3款綜合性價比特别高的SUV車型,本田的CR-V、别克昂科威和雪佛蘭探界者。      第一、本田CR-V   當年這個車簡直就是加價神車,耐用省心就是它的标簽,這幾年的銷量也不錯...
2026-08-28
Copyright 2023-2026 - www.tftnews.com All Rights Reserved