軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 (Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems)
Vlad Khononov
- 出版商: 博碩
- 出版日期: 2025-05-20
- 定價: $650
- 售價: 7.8 折 $507
- 語言: 繁體中文
- 頁數: 328
- ISBN: 6264141801
- ISBN-13: 9786264141802
-
相關分類:
Domain-Driven Design
- 此書翻譯自: Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems (Paperback)
立即出貨 (庫存 > 10)
買這商品的人也買了...
-
Specification by Example 中文版:團隊如何交付正確的軟體 (Specification by Example: How Successful Teams Deliver the Right Software)$420$357 -
領域驅動設計:軟體核心複雜度的解決方法 (Domain-Driven Design: Tackling Complexity in the Heart of Software)$680$530 -
Working Effectively with Legacy Code : 管理、修改、重構遺留程式碼的藝術 (中文版)$720$562 -
軟體架構原理|工程方法 (Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices)$680$537 -
經理人之道:技術領袖航向成長與改變的參考指南 (The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change)$480$379 -
Mike Cohn 的使用者故事:敏捷軟體開發應用之道 (User Stories Applied : For Agile Software Development)$600$468 -
設計重構:25個管理技術債的技巧消除軟體設計臭味 (Refactoring for Software Design Smells: Managing Technical Debt)$520$406 -
Clean Architecture 實作篇:在整潔的架構上弄髒你的手 (第二版) (Get Your Hands Dirty on Clean Architecture, 2/e)$600$468 -
領域故事化:協作 x 視覺化 x Agile,輕鬆打造專業水準的 DDD 軟體 (Domain Storytelling: A Collaborative, Visual, and Agile Way to Build Domain-Driven Software)$650$507 -
無瑕的程式碼 軟體工匠篇:程式設計師必須做到的紀律、標準與倫理 (Clean Craftsmanship: Disciplines, Standards, and Ethics)$720$562 -
先整理一下?|個人層面的軟體設計考量 (Tidy First?: A Personal Exercise in Empirical Software Design)$480$379 -
程式設計原來不只有寫 CODE!銜接學校與職場的五堂軟體開發實習課 = Beyond Just Coding: Five Essential Lessons from Classroom to Career in Software Development$700$546 -
讓 AI 好好說話!從頭打造 LLM (大型語言模型) 實戰秘笈$680$537 -
內行人才知道的系統設計面試指南 第二輯 (System Design Interview – An Insider's Guide: Volume 2)$820$648 -
AI 應用程式開發|活用 ChatGPT 與 LLM 技術開發實作, 2/e (Developing Apps with GPT-4 and ChatGPT: Build Intelligent Chatbots, Content Generators, and More, 2/e)$680$537 -
單元測試的藝術|以 JavaScript 為例 3/e$680$537 -
分佈式系統模式$594$564 -
無瑕的程式碼 函數式設計篇:原則、模式與實踐$780$608 -
敏捷成功之道:使用 Scrum 進行軟體開發$980$764 -
使用者體驗法則 |運用心理學原則設計更好的產品與服務, 2/e (Laws of UX: Using Psychology to Design Better Products & Services, 2/e)$580$458 -
GitHub Copilot 讓你寫程式快 10 倍!AI 程式開發大解放$690$545 -
深入淺出軟體架構 (Head First Software Architecture)$980$774 -
因果推論的商業應用:用 Python 解鎖科技產業的精準行銷 (Causal Inference in Python)$880$695 -
軟體測試修練指南:我獨自升級的實戰心法(iThome鐵人賽系列書)$690$538 -
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$663
相關主題
商品描述
[名家名著] 34
軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則
Balancing Coupling in Software Design: Universal Design Principles for Architecting Modular Software Systems
♛ Vaughn Vernon Signature Series系列叢書 ♛
❝良好的軟體設計並非將耦合完全消除,而是找出適當的耦合強度。在本書中,作者提出一個名為整合強度模型的分析框架,透過四種層級:契約耦合、模型耦合、功能耦合與侵入耦合,重新詮釋傳統結構化設計中的「模組耦合模型」,以及物件導向設計中的「共生性模型」。……本書作者同時也是領域驅動設計(domain-driven design,DDD)的專家,書中融合了來自領域驅動設計與微服務架構的耦合設計案例。……從這些實例中學習實作層面的耦合設計,也已相當值得。❞
────「搞笑談軟工」板主Teddy Chen 專文推薦
❝良好的系統設計需要商業、產品和開發部門的密切合作,而平衡系統耦合是當中不可忽視的一環。這件事越早做好,未來的痛苦就會越少。現今不少人深信生成式AI已經足以取代資淺程式設計師,我們也能觀察到就業市場反映出這種現象。但事實是系統設計發生在寫程式「之前」,而且很容易被輕視。……所以有些人認為,程式設計師或程式工程師並不會被AI取代,只不過在實際寫程式的動作會有所轉變,或者會轉型為「程式架構師」。在將複雜商業需求轉譯到良好軟體設計的過程上,人類依然不可或缺。❞
────本書譯者 王寶翔(Alan Wang)
❝大多數作者只會用一段話或一頁解釋耦合──而Vlad給了我們一整本書。❞
────Rebecca J. Wirfs-Brock
❝你的軟體能隨著時間變得越來越容易改變,但要做到這點是得下一番苦工的。然而,靠著你從本書獲得的概念與技巧,你就能一帆風順。❞
────Kent Beck
❝我審閱了Vlad的書幾次,看著它從粗稿轉變為成品。不得不說,能夠目睹Vlad以嶄新又強大的框架包裝、融合舊有軟體慣例,真的令人著迷不已。❞
────Vaughn Vernon
❝耦合是人們常掛在嘴邊但甚少理解的一個詞。Vlad把我們從單純的『永遠把元件去耦合』拉出來,透過複雜性和軟體演進的脈絡帶來深入的討論。如果你正在打造現代軟體,本書是非讀不可之作!❞
────《軟體架構師全方位提升指南》作者 Gregor Hohpe
理解耦合對軟體設計決策的影響──然後駕馭它!
如果你想打造模組化、可演進和具備高韌性的軟體系統,就必須設計出正確的耦合關係。你做的每一個設計決策都會影響耦合,而它們會回過頭來影響你將來可用的設計選項。然而,直到這本書出現之前,耦合很少得到應有的重視。
打從軟體工程的開天闢地之初,人們就發現,若要建構模組化軟體系統,正確的耦合管理就是非常重要的一件事。這個主題多年來被廣泛研究過,但有些知識已遭遺忘,有些則難以套用在當今的開發環境。作者根據他自身累積的知識,打造一個通用模型,甚至針對現代軟體工程的慣例來量身調整,替模組化軟體設計帶來令人耳目一新的觀點。
透過清楚說明這些原則與實踐,作者將引導你釐清耦合的多維度特性,並示範如何讓耦合成為強大的設計工具,以有效管理軟體複雜性、提高模組化程度。本書說不定會顛覆你對軟體設計的全面認知!
❑ 內容亮點
☑︎定義耦合的概念,以及它在系統設計與系統架構中扮演的角色
☑︎解釋耦合為何會增加系統複雜性,但亦能促進模組化程度
☑︎介紹一個整體模型,將耦合變成設計模組化軟體的工具
☑︎展示如何演進設計決策,來支援軟體系統的持續成長
☑︎以基於真實使用案例的詳細範例示範書內討論的原則
作者簡介
✍作者簡介✍
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:測驗解答
參考書目
















