回首頁  
帳號
 
關於博碩 博碩好讀 校園圖書 MOCC認證 下載教學 博碩教育雲 數位學院 最新書單(歡迎下載)

博碩好讀
  新書推薦
  出版預告
  名家名著
  iT達人祕笈
 

分類索引

 

出版總覽

 

讀者服務

  徵求作者
 
首頁 >> 書籍介紹
 
 
點我可放大圖片
 
書名:Clean Architecture實作篇:在整潔的架構上弄髒你的手
書號:MP12121 作者:Tom Hombergs著 ISBN: 978-626-333-181-5
定價:NT$500元 印刷:單色 頁數:176頁
書籍規格:18.5*23 上市日:2022/8/6 譯者:錢亞宏 譯
學習定位:無 本書附件:網路下載範例檔  
前往購買 >> 蝦皮購物 類別:電腦技術  
       
快速前往 快速前往        

 

 
    『建議搭配Uncle Bob的《Clean Architecture》,一本學理論,另一本學實作,兩本一起服用學習效果更佳。』

    -「搞笑談軟工」板主Teddy Chen 專文推薦


    [名家名著] 27


    Clean Architecture實作篇:在整潔的架構上弄髒你的手

    Get Your Hands Dirty on Clean Architecture


    所有人都想要找出一種架構設計,能以最少的開發成本,打造最好又富有彈性的軟體。但是各種無理的時限壓力,以及各種不得已的偷吃步做法,讓我們離理想中的架構設計越來越遠。

    本書會先從傳統的階層式架構設計入手,針對此架構的優缺點開始討論。接著,我們也會討論由Robert C. MartinUncle Bob)所提出的「整潔的架構」(Clean Architecture)以及由Alistair Cockburn所提出的「六角形架構」(Hexagonal Architecture),探討這類以業務領域為主的架構設計有什麼好處。隨後,本書會用實際的Java程式碼,帶領各位讀者親自動手做一遍六角形架構的實作流程。

    你將學習如何在六角形架構的架構層之間選擇並實作對應策略,以及如何將架構中的各種元素組裝為應用程式。然後,我們也會說明如何強化架構中的邊界,並以理性的態度探討偷吃步的做法會造成什麼樣的技術債影響,以及在什麼樣的情況下,我們會願意承擔這類技術債。

    讀完這本書,讀者將學會使用六角形架構的設計風格,建立整潔的網頁應用程式。

    學習目標:
    採用階層式架構會有什麼潛在問題
    如何強化架構中的邊界
    偷吃步做法會為軟體架構帶來什麼潛在影響
    應該在何時採用何種架構設計風格
    根據架構設計來安排程式檔案結構
    針對架構中不同的元素安排不同的測試策略


    下載範例程式檔案:
        本書的程式碼是由GitHub託管,可點選下面圖案前往下載:
        
 
    推薦序|Teddy Chen

    作者序

    Chapter 01:階層式架構的問題點
    資料庫驅動設計
    在階層中偷吃步
    難以執行的測試
    使用案例不知影
    平行分工的困難
    如何讓軟體邁向可維護性的目標?

    Chapter 02:依賴反轉
    單一職責原則
    與副作用之間的陳年往事
    依賴反轉原則
    整潔的架構
    六角形架構
    如何讓軟體邁向可維護性的目標?

    Chapter 03:程式結構
    以架構層為結構
    以功能為結構
    可呈現出架構的套件結構
    依賴注入的影響
    如何讓軟體邁向可維護性的目標?

    Chapter 04:使用案例實作
    領域模型實作
    使用案例長話短說
    輸入驗證
    利用建構子的好處
    不同的使用案例、不同的輸入模型
    業務規則驗證
    充血領域模型與貧血領域模型
    不同的使用案例、不同的輸出模型
    唯讀使用案例的問題
    如何讓軟體邁向可維護性的目標?

    Chapter 05:網頁層轉接器實作
    依賴反轉
    網頁層轉接器的職責
    分割開來的控制器
    如何讓軟體邁向可維護性的目標?

    Chapter 06:儲存層轉接器實作
    依賴反轉
    儲存層轉接器的職責
    分割開來的轉接埠介面
    分割開來的儲存層轉接器
    以Spring Data JPA為例
    資料庫交易的問題
    如何讓軟體邁向可維護性的目標?

    Chapter 07:架構測試
    測試金字塔
    領域實體的單元測試
    使用案例的單元測試
    網頁層轉接器的整合測試
    儲存層轉接器的整合測試
    系統主要路徑的系統測試
    要多少測試才算夠?
    如何讓軟體邁向可維護性的目標?

    Chapter 08:架構層之間的對應策略
    不對應策略(No Mapping)
    雙向對應策略(Two-Way Mapping)
    全部對應策略(Full Mapping)
    單向對應策略(One-Way Mapping)
    如何選擇要採用的策略?
    如何讓軟體邁向可維護性的目標?

    Chapter 09:應用程式組裝
    組裝是有什麼好談的?
    透過純程式碼組裝
    透過Spring的類別路徑掃描功能來組裝
    透過Spring的Java Config來組裝
    如何讓軟體邁向可維護性的目標?

    Chapter 10:強化架構中的邊界
    邊界與依賴關係
    存取修飾子
    編譯後檢查
    建置成品
    如何讓軟體邁向可維護性的目標?

    Chapter 11:理性看待偷吃步
    偷吃步的破窗效應
    第一步的重要性
    在使用案例之間共用模型
    把領域實體當成輸出或輸入模型
    省略輸入轉接埠
    省略應用服務
    如何讓軟體邁向可維護性的目標?

    Chapter 12:選擇你的架構風格
    領域為王(Domain is King)
    經驗為后(Experience is Queen)
    視情況而定(It depends...)
 
    Tom Hombergs是一位專業資深軟體工程師,投身於此行業已十多年,曾服務各大企業客戶,並曾參與各種不同的軟體開發專案。這些軟體開發專案大多數都是以Java程式語言的開發環境為主,Tom則是在其中扮演過開發工程師、架構設計師以及教練等角色。Tom認為教學相長,因此寫書的過程對自己來說也是一次很好的學習機會,尤其是能從自身經驗及過往參與的軟體專案來探討各項議題,希望能夠透過文字,為混亂不明的軟體開發領域帶來秩序與一線光明。除了寫書以外,他也會在個人部落格reflectoring.io上發表一些關於軟體開發的文章,並且偶爾會在各大論壇上發表演講。
 
 
 
     

博碩文化客服信箱
 

[email protected]

 
文教業務團隊
台北、新北、桃園、基隆、宜蘭、花蓮、金門
汪 玉 鳳
LINE ID:0925177716
0925-177716
[email protected]
郭 南 彤
LINE ID:rgtech101
0917-727778
[email protected]
助理分機 519
新竹、苗栗、台中、彰化、南投、雲林
林 世 昌
LINE ID:0925275775
0925-275775
[email protected]
助理分機 519
嘉義、台南、高雄、屏東、台東、澎湖
林 月 玲
LINE ID:0926858627
0926-858627
[email protected]
助理分機 238
 
MOCC 認證小組
 
  林 雯 玲 電話:02-2696-2869 分機:623 [email protected]

 

 
 

 

博碩文化股份有限公司 DrMaster Press Co., Ltd.
台灣新北市汐止區新台五路一段112號10樓A棟
Building A, 10F, No.112, Xintai 5th Rd., Sec.1,Xizhi Dist., New Taipei City 221, Taiwan
Tel:02-2696-2869 Fax:02-2696-2867 劃撥帳號:17484299

Copyright© DrMaster Press Co., Ltd. All Rights Reserved.