





軟體設計耦合的平衡之道: 建構模組化軟體系統的通用設計原則
Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則
內容簡介
[名家名著] 34
軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則
Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
♛ Vaughn Vernon Signature Series系列叢書 ♛
理解耦合對軟體設計決策的影響──然後駕馭它!
如果你想打造模組化、可演進和具備高韌性的軟體系統,就必須設計出正確的耦合關係。你做的每一個設計決策都會影響耦合,而它們會回過頭來影響你將來可用的設計選項。然而,直到這本書出現之前,耦合很少得到應有的重視。
打從軟體工程的開天闢地之初,人們就發現,若要建構模組化軟體系統,正確的耦合管理就是非常重要的一件事。這個主題多年來被廣泛研究過,但有些知識已遭遺忘,有些則難以套用在當今的開發環境。作者根據他自身累積的知識,打造一個通用模型,甚至針對現代軟體工程的慣例來量身調整,替模組化軟體設計帶來令人耳目一新的觀點。
透過清楚說明這些原則與實踐,作者將引導你釐清耦合的多維度特性,並示範如何讓耦合成為強大的設計工具,以有效管理軟體複雜性、提高模組化程度。本書說不定會顛覆你對軟體設計的全面認知!
❑ 內容亮點
☑︎定義耦合的概念,以及它在系統設計與系統架構中扮演的角色
☑︎解釋耦合為何會增加系統複雜性,但亦能促進模組化程度
☑︎介紹一個整體模型,將耦合變成設計模組化軟體的工具
☑︎展示如何演進設計決策,來支援軟體系統的持續成長
☑︎以基於真實使用案例的詳細範例示範書內討論的原則
產品目錄
推薦序一|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:測驗解答
參考書目
作者介紹
王寶翔(Alan Wang)
技術寫手、譯者。
alankrantas.github.io
規格
退貨說明
退貨須知:
- 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
- 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。
依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
- 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
- 報紙、期刊或雜誌。
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
- 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
- 國際航空客運服務。
若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:
- 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
- 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
- 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
- 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。









