說明:本文主要聚焦在《深入淺出設計模式》。
我們目前進行中的 Python Design Pattern 共學課程,我覺得平鋪直敍,不像 Python 深入學習 給我的那種《WOW》的感覺。
知其然不知其所以然。
我的意思是,看課程好像懂了,但如果問我為什麼要這麼做?或是什麼場合要選哪個設計模式?我又講不太出來。
這情形可能是我學藝不精,也可能是講師的內容就只能理解到此,所以我想多找些參考資料,來確認是哪個原因。
以下是週末時整理的資料,給自己參考,也希望對大家有幫助!
我推薦優先觀看的是這三個:
影片教學
深入淺出設計模式(第一版,非官方)
這部影片是根據 Head First Design Patterns(深入淺出設計模式)第一版的內容,所製作的教學影片。觀看量和評價都很不錯。
與原作不同的是:這系列教學影片涵蓋更多。以橋接模式(Bridge Pattern)為例,原書只寫了兩頁,但影片教學則教了 52 分鐘。
雖然影片有點搞笑,但他其實是博士,目前於 瑞典 烏普薩拉大學 任職副教授。
影片共有 19 部,以下是其播放列表:
深入淺出設計模式(第一版,非官方)
6 部影片,6 種設計模式。
Fireship
用 10 分鐘講解 10 個設計模式
講師有完整的課程教學,放在 YouTube 上的是 閹割版。希望吸引觀眾,如果看了不錯會去購買完整課程。
深入淺出設計模式 第二版 學習參考資源
GitHub
1. 原文書籍所附之原始碼(java)
2. Glenn Puchtel 改寫為 C++(原作者推薦)
3. Python
佛心人士將書中的 Java code 改寫為 Python
4. 中文(第一版)
深入淺出設計模式 第二版內容
-
設計模式簡介:設計模式歡迎您!
-
觀察者模式:讓你的物件掌握現況
-
裝飾器模式:裝飾物件
-
工廠模式:烘焙 OO 的精華
-
單例模式:獨一無二的物件
-
命令模式:封裝呼叫
-
轉接器與門面模式:隨機應變
-
樣板方法模式:封裝演算法
-
迭代器與組合模式:井然有序的集合
-
狀態模式:事物的狀態
-
代理模式:控制與物件的接觸
-
複合模式:在模式中的模式
-
與設計模式融洽相處:真實世界的模式
-
附錄:遺珠之憾
-
橋接模式 Bridge Pattern
-
建造者模式 Builder Pattern
-
責任鏈模式 Chain Of Responsibility Pattern
-
蠅量模式 Flyweight Pattern
-
解譯器模式 lnterpreter Pattern
-
仲介模式 Mediator Pattern
-
備忘錄模式 Memento Pattern
-
原型模式 Prototype Pattern
-
訪問者模式 Visitor Pattern
-
深入淺出設計模式 第一版筆記
提醒:文章中有各章的筆記,請點擊其中各模式的
筆記回顧。
線上課程(LinkedIn Learning)- 原作者講解
說明:LinkedIn 的方式並非買斷課程,而是租用。付費(會員)期間,可觀看所有線上課程(21,000+),課程完成後,如果之後未持續付費,便無法觀看。
建議:如果真的想看,免費試用即可,課程總長度才 1 小時 44 分鐘。但看完要記得退掉。
Programming Foundations: Design Patterns
長度:1 小時 44 分鐘 ║ 專業實力:中級 ║ 推出日期:2019/5/6
購書
1. 老牌重慶南路書局轉型的線上書店
2. 以超低折扣引發出版商歇業抗議的 momo
3. 疑似「假承攬真僱傭」清潔阿姨的博客來
延伸閱讀