<內容簡介>
當高深的程式設計思想遇到個性鮮明的標點符號,一場精彩又深入淺出的課程就此展開...
「軟體無形,編程有道」
何謂程式計計範式?
即解決程式世界問題的抽象思維,
也是理解程式語言的具體指標。
而OOP則是目前最流行的程式設計範式!
為了多角度地展現知識的內涵與活性,書中多採用對話的方式,人物皆以標點符號命名,塑造讓人過目不忘的形象:冒號善解釋,引號善引用,問號善提問,逗號善緩衝,嘆號善感歎,句號善總結。此外,六個標點符號還分別對應著每小節的六個部分:冒號是正文講解,引號是文獻參考,問號是問題列表,逗號是補充插語(題外話),嘆號是精華預覽,句號是本節總結。
本書非常強調學習方法和學習精神的重要性,全文共有十三個章節,分為上、下篇。上篇以程式設計範式為出發點,深入分析各種程式語言的本質、特性、意義、優缺點,破除一般人對於程式語言的迷思;下篇則以抽象機制為出發點,徹底剖析物件導向程式設計的三大特性 ─ 封裝、繼承、多型,引領讀者真正掌握OOP的思考術,並將這些觀念延伸到設計原則與設計模式中。
冒號語錄:
●學會不如會學,會學不如會用,會用不如被用。
●知識之上是思想,思想之上是精神。
●設計模式是軟體的戰術思想,架構是軟體的戰略決策。
●程式設計是尋求一種機制,將指定的輸入轉化為指定的輸出。
●與其說OOP更具重用性,不如說更具易用性。
●抽象與分解是治癒程式碼紊亂、鬆散、重複的良方。
●獨立是非同步的前提,耗時是非同步的理由。
●程式設計範式為神,程式語言為形,應以神導形、以形傳神。
●介面是綱,實作是目,綱若不舉,目無以張。
●抽象是OOP的核心和起源,是封裝、繼承和多型的基礎。
●存取控制不僅是一種語法限制,也是一種語意規範,明確地將介面與實作分離開來。
●實作繼承消費可重用的舊程式碼,介面繼承生產可重用的新程式碼。
●概念抽象只是手段,規範抽象才是依據。
●繼承是多型的基礎,多型是繼承的目的。
●抽象是尋求某種一致性的過程,反過來遵循一致性也有助於抽象的形成。
<章節目錄>
上篇 程式設計範式與程式語言
第1課 開班導言
開班發言 ─ 程式設計師的四層境界
首輪提問 ─ 什麼語言好?
語言選擇 ─ 合適的就是好的
初識範式 ─ 程式王國中的世界觀與方法論
開發技術 ─ 實用還是時髦?
第2課 重要範式
命令範式 ─ 一切行動聽指揮
宣告範式 ─ 目標決定行動
物件範式 ─ 民主制社會的程式設計法則
並行範式 ─ 合作與競爭
第3課 常用範式
泛型範式 ─ 抽象你的演算法
超級範式 ─ 提升語言的級別
切面範式 ─ 多角度看問題
事件驅動 ─ 有事我叫你,沒事別煩我
第4課 重溫範式
函數範式 ─ 精巧的數學思維
邏輯範式 ─ 當演算法失去了控制
匯總範式 ─ 一張五味俱全的大餅
情境範式 ─ 餐館裡的程式設計範式
第5課 語言小談
教學計畫 ─ 接下來的故事
資料類型 ─ 規則與變通
動態語言 ─ 穿著彩衣飛舞的腳本語言
語言誤區 ─ 語言的宗教情結
第6課 語言簡評
系統語言 ─ 權力的雙刃劍
平台語言 ─ 先搭台後唱戲
前台語言 ─ 視覺與互動的藝術
後台腳本 ─ 敏捷開發的利器
下篇 抽象機制與物件範式
第7課 抽象封裝
抽象思維 ─ 減法和除法的學問
資料抽象 ─ 「做什麼」重於「怎麼做」
封裝隱藏 ─ 包裝的講究
第8課 抽象介面
軟體應變 ─ 隨需而變,適者生存
存取控制 ─ 程式碼的多級管理
介面服務 ─ 講誠信與守規矩
第9課 繼承機制
繼承關係 ─ 繼承財富,更要繼承責任
慎用繼承 ─ 以謹慎之心對待權力
第10課 多型機制
多型類型 ─ 靜中之動
抽象類型 ─ 實中之虛
第11課 值與參照
語法類型 ─ 體用之分
語意類型 ─ 陰陽之道
第12課 設計原則
間接原則 ─ 柔勝於剛,曲勝於直
依賴原則 ─ 有求皆苦,無欲則剛
內聚原則 ─ 不是一家人,不進一家門
保變原則 ─ 與魔鬼打交道的藝術