軟體設計耦合的平衡之道: 建構模組化軟體系統的通用設計原則 | 誠品線上

Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems

作者 Vlad Khononov
出版社 聯合發行股份有限公司
商品描述 軟體設計耦合的平衡之道: 建構模組化軟體系統的通用設計原則:[名家名著]34軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則BalancingCouplinginSoftwareDesign:

內容簡介

內容簡介 [名家名著] 34 軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems ♛ Vaughn Vernon Signature Series系列叢書 ♛ 理解耦合對軟體設計決策的影響──然後駕馭它! 如果你想打造模組化、可演進和具備高韌性的軟體系統,就必須設計出正確的耦合關係。你做的每一個設計決策都會影響耦合,而它們會回過頭來影響你將來可用的設計選項。然而,直到這本書出現之前,耦合很少得到應有的重視。 打從軟體工程的開天闢地之初,人們就發現,若要建構模組化軟體系統,正確的耦合管理就是非常重要的一件事。這個主題多年來被廣泛研究過,但有些知識已遭遺忘,有些則難以套用在當今的開發環境。作者根據他自身累積的知識,打造一個通用模型,甚至針對現代軟體工程的慣例來量身調整,替模組化軟體設計帶來令人耳目一新的觀點。 透過清楚說明這些原則與實踐,作者將引導你釐清耦合的多維度特性,並示範如何讓耦合成為強大的設計工具,以有效管理軟體複雜性、提高模組化程度。本書說不定會顛覆你對軟體設計的全面認知! ❑ 內容亮點 ☑︎定義耦合的概念,以及它在系統設計與系統架構中扮演的角色 ☑︎解釋耦合為何會增加系統複雜性,但亦能促進模組化程度 ☑︎介紹一個整體模型,將耦合變成設計模組化軟體的工具 ☑︎展示如何演進設計決策,來支援軟體系統的持續成長 ☑︎以基於真實使用案例的詳細範例示範書內討論的原則

作者介紹

作者介紹 Vlad Khononov是一名擁有廣泛業界經驗的軟體工程師,替規模各異的公司做事,扮演的角色自網站管理員到首席架構師都有。他的主要專業包括軟體架構、分散式系統及領域驅動設計。身為顧問與訓練師,Vlad協助企業理解它們的商業領域、重新整頓老舊系統,並搞定複雜的架構挑戰。 王寶翔(Alan Wang) 技術寫手、譯者。 alankrantas.github.io

產品目錄

產品目錄 齊聲讚譽 推薦序一|Teddy Chen 推薦序二|Rebecca J. Wirfs-Brock 推薦序三|Kent Beck 譯者序 |王寶翔(Alan Wang) 作者序 致謝 關於作者 關於譯者 前言 第一部:耦合 CH01:耦合與系統設計 什麼是耦合? 耦合程度 知識流動方向 系統 重點提要 測驗 CH02:耦合與複雜性:Cynefin框架介紹 什麼是複雜性? Cynefin框架 比較Cynefin框架的領域 將Cynefin框架用於軟體 Cynefin框架的應用 Cynefin框架與複雜性 重點提要 測驗 CH03:耦合與複雜性:互動 複雜性的本質 複雜性與系統設計 階層複雜性 自由度(degrees of freedom) 複雜性與限制條件 耦合與複雜互動 範例:連結耦合與複雜性 重點提要 測驗 CH04:耦合與模組化 模組化(modularity) 模組 軟體系統的模組化 模組化、複雜性與耦合 模組化內的耦合 重點提要 測驗 第二部:維度 CH05:結構化設計的模組耦合 結構化設計 模組耦合(module coupling) 比較各個模組耦合層級 重點提要 測驗 CH06:共生性 什麼是共生性? 靜態共生性(static connascence) 動態共生性(dynamic connascence) 評估共生性 重點提要 測驗 CH07:整合強度 耦合強度 整合強度(integration strength) 侵入耦合(intrusive coupling) 功能耦合(functional coupling) 模型耦合(model coupling) 契約耦合(contract coupling) 整合強度討論 整合強度與非同步執行 重點提要 測驗 CH08:距離 距離與封裝邊界 影響距離的額外因素 距離vs.鄰近度 距離vs.整合強度 重點提要 測驗 CH09:變動性 改變與耦合 為何軟體會有變動 評估變動率 變動性和整合強度 推論的變動性 重點提要 測驗 第三部:平衡 CH10:平衡耦合 合併耦合維度 合併整合強度、距離與變動性 以數值量表平衡耦合 重點提要 測驗 CH11:重新平衡耦合 韌性設計 軟體變動向量 重新平衡耦合 重點提要 測驗 CH12:軟體設計的碎形幾何 成長 創新 碎形幾何 碎形模組化 重點提要 測驗 CH13:平衡耦合實務 微服務 架構模式 商業物件 方法 重點提要 測驗 CH14:結論 尾聲 附錄A:耦合之歌 附錄B:耦合詞彙表 附錄C:測驗解答 參考書目

商品規格

書名 / 軟體設計耦合的平衡之道: 建構模組化軟體系統的通用設計原則
作者 / Vlad Khononov
簡介 / 軟體設計耦合的平衡之道: 建構模組化軟體系統的通用設計原則:[名家名著]34軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則BalancingCouplinginSoftwareDesign:
出版社 / 聯合發行股份有限公司
ISBN13 / 9786264141802
ISBN10 /
EAN / 9786264141802
誠品26碼 / 2682894908006
頁數 / 328
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 18.5X23X1.71CM
級別 / N:無

試閱文字

推薦序 : 好評推薦

❝良好的軟體設計並非將耦合完全消除,而是找出適當的耦合強度。在本書中,作者提出一個名為整合強度模型的分析框架,透過四種層級:契約耦合、模型耦合、功能耦合與侵入耦合,重新詮釋傳統結構化設計中的「模組耦合模型」,以及物件導向設計中的「共生性模型」。……本書作者同時也是領域驅動設計(domain-driven design,DDD)的專家,書中融合了來自領域驅動設計與微服務架構的耦合設計案例。……從這些實例中學習實作層面的耦合設計,也已相當值得。❞
────「搞笑談軟工」板主Teddy Chen 專文推薦


❝良好的系統設計需要商業、產品和開發部門的密切合作,而平衡系統耦合是當中不可忽視的一環。這件事越早做好,未來的痛苦就會越少。現今不少人深信生成式AI已經足以取代資淺程式設計師,我們也能觀察到就業市場反映出這種現象。但事實是系統設計發生在寫程式「之前」,而且很容易被輕視。……所以有些人認為,程式設計師或程式工程師並不會被AI取代,只不過在實際寫程式的動作會有所轉變,或者會轉型為「程式架構師」。在將複雜商業需求轉譯到良好軟體設計的過程上,人類依然不可或缺。❞
────本書譯者 王寶翔(Alan Wang)


❝大多數作者只會用一段話或一頁解釋耦合──而Vlad給了我們一整本書。❞
────Rebecca J. Wirfs-Brock


❝你的軟體能隨著時間變得越來越容易改變,但要做到這點是得下一番苦工的。然而,靠著你從本書獲得的概念與技巧,你就能一帆風順。❞
────Kent Beck


❝我審閱了Vlad的書幾次,看著它從粗稿轉變為成品。不得不說,能夠目睹Vlad以嶄新又強大的框架包裝、融合舊有軟體慣例,真的令人著迷不已。❞
────Vaughn Vernon


❝耦合是人們常掛在嘴邊但甚少理解的一個詞。Vlad把我們從單純的『永遠把元件去耦合』拉出來,透過複雜性和軟體演進的脈絡帶來深入的討論。如果你正在打造現代軟體,本書是非讀不可之作!❞
────《軟體架構師全方位提升指南》作者 Gregor Hohpe

最佳賣點

最佳賣點 : [名家名著] 34

軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則