庫存狀況
「香港二樓書店」讓您 愛上二樓●愛上書
我的購物車 加入會員 會員中心 常見問題 首頁
「香港二樓書店」邁向第一華人書店
登入 客戶評價 whatsapp 常見問題 加入會員 會員專區 現貨書籍 現貨書籍 購物流程 運費計算 我的購物車 聯絡我們 返回首頁
香港二樓書店 > 今日好書推介
   
好吃(NO.5+6)套書(共二冊)
  • 定價99.00元
  • 8 折優惠:HK$79.2
  • 放入購物車
二樓書籍分類
 
Clean Architecture實作篇:在整潔的架構上弄髒你的手(第二版)

Clean

沒有庫存
訂購需時10-14天
9786263336803
Tom Hombergs
錢亞宏,盧國鳳
博碩
2024年1月05日
200.00  元
HK$ 170  






ISBN:9786263336803
  • 規格:平裝 / 232頁 / 18.5 x 23 x 1.49 cm / 普通級 / 單色印刷 / 二版
  • 出版地:台灣


  • 電腦資訊 > 程式設計 > 資料結構/演算法

















      [名家名著] 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程式碼,帶領各位讀者親自動手做一遍六角形架構的實作流程。你將學習如何在六角形架構的架構層之間選擇並實作對應策略,以及如何將架構中的各種元素組裝為應用程式。然後,我們也會說明如何強化架構中的邊界,並以理性的態度探討偷吃步的做法會造成什麼樣的技術債影響,以及在什麼樣的情況下,我們會願意承擔這類技術債。



      讀完這本書,讀者將學會使用六角形架構的設計風格,建立整潔、可維護又經得起時間考驗的網頁應用程式。



      學習目標:

      ?採用階層式架構會有什麼潛在問題

      ?如何強化架構中的邊界

      ?偷吃步做法會為軟體架構帶來什麼潛在影響

      ?應該在何時採用何種架構設計風格

      ?根據架構設計來安排程式檔案結構

      ?針對架構中不同的元素安排不同的測試策略





    ?


     





    二版推薦序|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:選擇你的架構風格

    從簡單開始

    領域的發展

    相信自己的經驗

    視情況而定



    ?




    其 他 著 作
    1. Clean Architecture實作篇:在整潔的架構上弄髒你的手