Clean Architecture 實作篇:在整潔的架構上弄髒你的手 (第二版) (Get Your Hands Dirty on Clean Architecture, 2/e)
Tom Hombergs 著 錢亞宏、盧國鳳 翻譯、錢亞宏 審校
- 出版商: 博碩
- 出版日期: 2024-01-05
- 定價: $600
- 售價: 7.8 折 $468
- 語言: 繁體中文
- 頁數: 232
- ISBN: 6263336803
- ISBN-13: 9786263336803
-
相關分類:
Design Pattern
- 此書翻譯自: Get Your Hands Dirty on Clean Architecture: Build 'clean' applications with code examples in Java, 2/e (Paperback)
-
Clean Code Clean Coder Clean Architecture Clean Architecture 實作篇 (第二版) Agile Principles
立即出貨 (庫存 > 10)
買這商品的人也買了...
-
人月神話:軟體專案管理之道 (20 週年紀念版)(The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition, 2/e)$480$379 -
無瑕的程式碼-敏捷軟體開發技巧守則 (Clean Code: A Handbook of Agile Software Craftsmanship)$580$452 -
無瑕的程式碼 番外篇-專業程式設計師的生存之道 (The Clean Coder: A Code of Conduct for Professional Programmers)
$360$281 -
無瑕的程式碼-敏捷軟體開發技巧守則 + 番外篇-專業程式設計師的生存之道 (雙書合購)$940$700 -
無瑕的程式碼-敏捷完整篇-物件導向原則、設計模式與 C# 實踐 (Agile principles, patterns, and practices in C#)$790$616 -
無瑕的程式碼-整潔的軟體設計與架構篇 (Clean Architecture: A Craftsman's Guide to Software Structure and Design)$580$452 -
領域驅動設計:軟體核心複雜度的解決方法 (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 -
設計重構:25個管理技術債的技巧消除軟體設計臭味 (Refactoring for Software Design Smells: Managing Technical Debt)$520$406 -
Martin Fowler 的企業級軟體架構模式:軟體重構教父傳授 51個模式,活用設計思考與架構決策 (Patterns of Enterprise Application Architecture)$800$624 -
Web API 設計原則|API 與微服務傳遞價值之道 (Principles of Web API Design: Delivering Value with APIs and Microservices)$520$411 -
無瑕的程式碼 敏捷篇:還原敏捷真實的面貌 (Clean Agile : Back to Basics)$560$437 -
Google 的軟體工程之道|從程式設計經驗中吸取教訓 (Software Engineering at Google)$880$695 -
軟體測試實務 : 業界成功案例與高效實踐 [ I ]$650$507 -
約耳再談軟體 (More Joel on Software)$580$458 -
高效率 Linux 命令列學習手冊 (Efficient Linux at the Command Line: Boost Your Command-Line Skills)$580$458 -
團隊自省指南|打造敏捷團隊$500$395 -
Staff 工程師之路|獻給個人貢獻者成長與改變的導航指南 (The Staff Engineer's Path)$580$458 -
實戰領域驅動設計:高效軟體開發的正確觀點、應用策略與實作指引 (Implementing Domain-Driven Design)$1,280$998 -
領域故事化:協作 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 -
無瑕的程式碼 函數式設計篇:原則、模式與實踐$780$608 -
軟體設計耦合的平衡之道:建構模組化軟體系統的通用設計原則 (Balancing Coupling in Software Design: Successful Software Architecture in General and Distributed Systems)$650$507
相關主題
商品描述
[名家名著] 29
Clean Architecture實作篇:在整潔的架構上弄髒你的手(第二版)
Get Your Hands Dirty on Clean Architecture - Second Edition
『針對Clean Architecture 的實作方式,這是Teddy 讀過解釋得最清楚的單一本書,推薦給有志讓軟體變軟的鄉民們。』
-「搞笑談軟工」板主Teddy Chen 二版推薦序專文推薦
『Teddy 建議搭配Uncle Bob 的《Clean Architecture》,一本學理論,另一本學實作,兩本一起服用學習效果更佳。』
-「搞笑談軟工」板主Teddy Chen 一版推薦序專文推薦
『只有誠實地面對專案需求與團隊情況,根據當下條件選擇合適的架構與方法論,並在開發與維護過程中保持敏捷的彈性,隨時回頭審視、做出調整,以便因應業務領域在未來的任何變化,才能逐步邁向業務目標。這就是軟體開發上的「風險管理」。』
-錢亞宏 譯者審校序專文推薦
軟體設計的可維護性(maintainability)是降低開發成本的關鍵,也是提升開發人員滿意度的基石。第二版以第一版的骨架為基礎,主要新增三個章節,分別延伸探討可維護性、Bounded Context、以元件為基礎的架構等第一版沒有深入探索的主題,為各位讀者補強「打造可維護軟體」所需的知識和技巧。
我們首先從傳統的階層式架構設計入手,針對此架構的優缺點開始討論。接著,我們也會討論由Robert C. Martin(Uncle Bob)所提出的「整潔的架構」(Clean Architecture)以及由Alistair Cockburn所提出的「六角形架構」(Hexagonal Architecture),探討這類以業務領域為主的架構設計有什麼好處。隨後,本書會用實際的Java和Kotlin程式碼,帶領各位讀者親自動手做一遍六角形架構的實作流程。你將學習如何在六角形架構的架構層之間選擇並實作對應策略,以及如何將架構中的各種元素組裝為應用程式。然後,我們也會說明如何強化架構中的邊界,並以理性的態度探討偷吃步的做法會造成什麼樣的技術債影響,以及在什麼樣的情況下,我們會願意承擔這類技術債。
讀完這本書,讀者將學會使用六角形架構的設計風格,建立整潔、可維護又經得起時間考驗的網頁應用程式。
學習目標:
・採用階層式架構會有什麼潛在問題
・如何強化架構中的邊界
・偷吃步做法會為軟體架構帶來什麼潛在影響
・應該在何時採用何種架構設計風格
・根據架構設計來安排程式檔案結構
・針對架構中不同的元素安排不同的測試策略
【下載範例程式檔案】
讀者可以從GitHub下載本書的範例程式碼,如果程式碼有更新,作者也會直接更新在儲存庫上:https://github.com/thombergs/buckpal
【下載本書的彩色圖片】
本書使用的彩色截圖和圖表,可以在此下載PDF檔案:https://packt.link/eBKMn
作者簡介
Tom Hombergs是軟體工程師、作家、奉行簡單主義的阿宅。複雜度就是他的死對頭,所以他致力於將複雜的東西簡化成容易消化的碎片。如果他能夠理解,那麼其他人也能夠理解。他簡化程式碼及文字,並撰寫讓人可以輕鬆閱讀的文章、書籍和開發文件。Tom目前在澳洲雪梨的Atlassian工作,負責Atlassian開發者使用的技術堆疊的DX(開發者體驗)。
目錄大綱
二版推薦序|Teddy Chen
一版推薦序|Teddy Chen
譯者審校序|錢亞宏
推薦序|Gernot Starke
貢獻者
作者簡介
檢閱者簡介
作者序
本書目標
目標讀者
範例應用程式
下載彩色圖片
讀者回饋
讀者評論
Chapter 01:可維護性
可維護性是什麼意思?
可維護性能夠實現功能性
可維護性帶來開發者樂趣
可維護性能支援做出決策
維護可維護性
Chapter 02:階層式架構的問題點
資料庫驅動設計
在階層中偷吃步
難以執行的測試
使用案例不知影
平行分工的困難
如何讓軟體邁向可維護性的目標?
Chapter 03:依賴反轉
單一職責原則
與副作用之間的陳年往事
依賴反轉原則
整潔的架構
六角形架構
如何讓軟體邁向可維護性的目標?
Chapter 04:程式結構
以架構層為結構
以功能為結構
可呈現出架構的套件結構
依賴注入的影響
如何讓軟體邁向可維護性的目標?
Chapter 05:使用案例實作
領域模型實作
使用案例長話短說
輸入驗證
利用建構子的好處
不同的使用案例、不同的輸入模型
業務規則驗證
豐富領域模型與貧血領域模型
不同的使用案例、不同的輸出模型
唯讀使用案例的問題
如何讓軟體邁向可維護性的目標?
Chapter 06:網頁層轉接器實作
依賴反轉
網頁層轉接器的職責
分割開來的控制器
如何讓軟體邁向可維護性的目標?
Chapter 07:儲存層轉接器實作
依賴反轉
儲存層轉接器的職責
分割開來的轉接埠介面
分割開來的儲存層轉接器
以Spring Data JPA為例
資料庫交易的問題
如何讓軟體邁向可維護性的目標?
Chapter 08:架構測試
測試金字塔
領域實體的單元測試
使用案例的單元測試
網頁層轉接器的整合測試
儲存層轉接器的整合測試
系統主要路徑的系統測試
要多少測試才算夠?
如何讓軟體邁向可維護性的目標?
Chapter 09:架構層之間的對應策略
不對應策略(No Mapping)
雙向對應策略(Two-Way Mapping)
全部對應策略(Full Mapping)
單向對應策略(One-Way Mapping)
如何選擇要採用的策略?
如何讓軟體邁向可維護性的目標?
Chapter 10:應用程式組裝
組裝是有什麼好談的?
透過純程式碼組裝
透過Spring的類別路徑掃描功能來組裝
透過Spring的Java Config來組裝
如何讓軟體邁向可維護性的目標?
Chapter 11:理性看待偷吃步
偷吃步的破窗效應
第一步的重要性
在使用案例之間共用模型
把領域實體當成輸出或輸入模型
省略輸入轉接埠
省略服務
如何讓軟體邁向可維護性的目標?
Chapter 12:強化架構中的邊界
邊界與依賴關係
存取修飾子
編譯後檢查
建置成品
如何讓軟體邁向可維護性的目標?
Chapter 13:管理多個Bounded Context
為每個Bounded Context建立一個六角形?
解耦合的Bounded Context
適當耦合的Bounded Context
如何讓軟體邁向可維護性的目標?
Chapter 14:以元件為基礎的軟體架構方法
透過元件進行模組化
案例研究:打造一個檢查引擎元件
強化元件的邊界
如何讓軟體邁向可維護性的目標?
Chapter 15:選擇你的架構風格
從簡單開始
領域的發展
相信自己的經驗
視情況而定















