無瑕的程式碼 函數式設計篇:原則、模式與實踐

Robert C. Martin 著 張立顗(Poy Chang) 譯

  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-1
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-2
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-3
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-4
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-5
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-6
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-7
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-8
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-9
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-10
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-11
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-12
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-13
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-14
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-15
  • 無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-16
無瑕的程式碼 函數式設計篇:原則、模式與實踐-preview-1

買這商品的人也買了...

商品描述

[名家名著] 33

 

無瑕的程式碼 函數式設計篇:原則、模式與實踐

 

Functional Design: Principles, Patterns, and Practices



《無瑕的程式碼 函數式設計篇》不是單純的函數式程式設計教科書,而是一場從原則到實踐的深度對話。對於渴望持續進步的程式設計師而言,它帶來的不僅是技術知識,還有一種重新審視與平衡開發思維的啟示。

────微軟最有價值專家(Microsoft MVP) 陳傳興(Bruce Chen) 專文推薦



乍看之下,物件導向和函數式這兩種範式似乎互不相容,一個強調資料抽象與封裝狀態,另一個則倡導不可變與純函數。事實上,即便兩者出發點不同,卻能在合適的脈絡下融為一體,互相補足,最終協助我們打造更強韌、更具表達力的軟體系統。對一位想要同時掌握物件導向與函數式思維的工程師來說,如何在日常工作中權衡並結合這兩種做法,正是本書所提出的關鍵挑戰與寶貴建議。

────微軟最有價值專家(Microsoft MVP)|本書譯者 張立顗(Poy Chang)



Uncle Bob精心展示了函數式設計,這是當今軟體開發中極為流行且高效的設計方式。透過深入的原則和實踐案例,本書不僅適合軟體開發者,也對任何追求卓越程式品質的專業人士都具有極高的實用價值。Uncle Bob的洞見和清晰的寫作風格使這本書成為了一本不可多得的學習資源。

────博碩文化總編輯 & CEO CSM 陳錦輝(Simon)



在閱讀《無瑕的程式碼 函數式設計篇:原則、模式與實踐》之後,我多麼希望無論是過去還是現在,無論是在學習階段身為學生,還是在工作階段成為專業人士,我都能擁有本書的陪伴。本書散發著「問世即經典」的魅力,它讀起來就像是特別為專業軟體開發者而寫的。

────Janet A. CarrClojure獨立顧問

 

一本精通函數式程式設計的實用指南,寫出更優雅、更整潔的程式碼!



在本書中,世界級軟體開發傳奇大師、暢銷書《Clean Code》的作者Robert C. Martin(Uncle Bob)將深入解說,為何要使用函數式程式設計(functional programming,以及如何運用函數式設計來建置更符合實際需求的系統。Uncle Bob將比較傳統的物件導向程式設計(Java)與函數式語言(Clojure)所採用的結構,並指出各自的最佳應用場景。他將展示如何在不同的情境下,明智地選擇合適且合理的做法,來建置更優秀、更優雅的系統。

Uncle Bob不僅手法務實,他還將理論簡化,把重點放在「實戰」與「解決問題」的具體做法。透過簡單易懂的範例,開發者將發現,容易學習且語意豐富的Clojure語言,如何幫助他們提升程式碼的整潔度、品質、開發紀律與效率。Uncle Bob還將從函數式程式設計的角度,深入探討廣為人知的SOLID原則與「四人幫」設計模式,解釋這些模式對於函數式程式設計師的價值,並指導讀者如何利用它們來實現更卓越的成果。
 

【內容亮點】
理解函數式程式設計的基本概念:不可變性、持久性資料、遞迴、迭代、延遲、狀態性
透過精心設計的案例研究,比較函數式方法與物件導向方法
探索資料流的函數式設計技巧
使用經典的SOLID原則來編寫更好的Clojure程式碼
精通函數式測試、GUI與並行的實用方法
在函數式環境中充分發揮設計模式的作用
逐步建置企業級的Clojure應用程式

【下載範例程式檔案】
https://github.com/unclebob/FunctionalDesign

作者簡介

作者簡介
Robert C. Martin人稱Uncle Bob。他是cleancoders.com的共同創辦人。他也是Uncle Bob Consulting LLC的創辦人,為世界各地的大型企業提供軟體顧問、訓練以及技術開發等服務。在C++、Java物件導向、模式、UML、敏捷方法學和極限程式設計等領域,他撰寫相當多的暢銷名著,《Clean Code》、《Clean Architecture》、《Clean Agile》等,繁體中文版皆由博碩文化出版。

譯者簡介
張立顗(Poy Chang)熱愛分享技術的他,現為微軟最有價值專家(Microsoft MVP)、微軟認證DevOps工程師專家,以及STUDY4技術社群的核心成員。他經常在部落格撰寫技術文章、舉辦活動並公開演講,樂於與人分享浩瀚技術海中的一片浪花。

目錄大綱

獻辭
推薦序一|Janet A. Carr
推薦序二|陳傳興(Bruce Chen)
譯者序 |張立顗(Poy Chang)
前言
謝辭
關於作者
關於譯者

Part I:函數式基礎

第1章:不可變性
什麼是函數式程式設計?
指派的問題
為什麼稱它為函數式呢?
沒有狀態改變嗎?
不可變性

第2章:持久性資料
關於暗渡陳倉
製作副本
結構共享

第3章:遞迴與迭代
迭代
遞迴

第4章:延遲
延遲累積
為何需要延遲?
尾聲

第5章:狀態性
何時必須變更
軟體交易記憶體(STM)
人生艱難,軟體更難

PART II:比較分析

第6章:質因數
Java版本
Clojure版本
小結

第7章:保齡球比賽
Java版本
Clojure版本
小結

第8章:聊八卦的公車司機
Java版本
Clojure版本
小結

第9章:物件導向程式設計
函數式薪水支付案例
命名空間與原始檔
小結

第10章:型別
小結

PART III:函數式設計

第11章:資料流

第12章:SOLID
單一職責原則(SRP)
開放封閉原則(OCP)
里氏替換原則(LSP)
介面隔離原則(ISP)
依賴反轉原則(DIP)

PART IV:函數式實用主義

第13章:測試
REPL
Mock
性質導向測試
診斷技術
函數式

第14章:GUI
用Quil畫烏龜

第15章:並行
小結

PART V:設計模式

第16章:回顧設計模式
函數式的設計模式
抽象伺服器模式
轉接器模式
命令模式
組合模式
裝飾模式
訪問者模式
抽象工廠模式
小結
後記:OO是毒藥嗎?

 
PART VI:案例研究

第17章:Wa-Tor
心癢難耐
解決難題
瘋狂繁殖
鯊魚呢?
小結

後記

類似商品