『建議搭配Uncle Bob的《Clean Architecture》,一本學理論,另一本學實作,兩本一起服用學習效果更佳。』-「搞笑談軟工」板主Teddy Chen 專文推薦
[名家名著] 27
Clean Architecture實作篇:在整潔的架構上弄髒你的手
Get Your Hands Dirty on Clean Architecture
所有人都想要找出一種架構設計,能以最少的開發成本,打造最好又富有彈性的軟體。但是各種無理的時限壓力,以及各種不得已的偷吃步做法,讓我們離理想中的架構設計越來越遠。
本書會先從傳統的階層式架構設計入手,針對此架構的優缺點開始討論。接著,我們也會討論由Robert C. Martin(Uncle Bob)所提出的「整潔的架構」(Clean Architecture)以及由Alistair Cockburn所提出的「六角形架構」(Hexagonal Architecture),探討這類以業務領域為主的架構設計有什麼好處。隨後,本書會用實際的Java程式碼,帶領各位讀者親自動手做一遍六角形架構的實作流程。
你將學習如何在六角形架構的架構層之間選擇並實作對應策略,以及如何將架構中的各種元素組裝為應用程式。然後,我們也會說明如何強化架構中的邊界,並以理性的態度探討偷吃步的做法會造成什麼樣的技術債影響,以及在什麼樣的情況下,我們會願意承擔這類技術債。
讀完這本書,讀者將學會使用六角形架構的設計風格,建立整潔的網頁應用程式。
學習目標:
?採用階層式架構會有什麼潛在問題
?如何強化架構中的邊界
?偷吃步做法會為軟體架構帶來什麼潛在影響
?應該在何時採用何種架構設計風格
?根據架構設計來安排程式檔案結構
?針對架構中不同的元素安排不同的測試策略
?