0920~0926_夏季暢銷第三波BN

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

Functional Design: Principles- Patterns- and Practices
  • 9 702
    780

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

[名家名著] 33

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

Functional Design: Principles, Patterns, and Practices

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

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


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


在本書中,世界級軟體開發傳奇大師、暢銷書《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
心癢難耐
解決難題
瘋狂繁殖
鯊魚呢?
小結

後記

序/導讀

❝《無瑕的程式碼 函數式設計篇》不是單純的函數式程式設計教科書,而是一場從原則到實踐的深度對話。對於渴望持續進步的程式設計師而言,它帶來的不僅是技術知識,還有一種重新審視與平衡開發思維的啟示。❞
────微軟最有價值專家(Microsoft MVP) 陳傳興(Bruce Chen) 專文推薦

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

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9786264141772
    • 分級
    • 普通級
    • 頁數
    • 400
    • 商品規格
    • 23*18.5*2.1
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
※ 網友掛保證,絕不踩雷書單如下 ↓↓↓
預計 2025/09/20 出貨 參考庫存量:1 
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing