Design Patterns 設計模式大補帖(二)

說明:本文主要聚焦在《深入淺出設計模式》。

我們目前進行中的 Python Design Pattern 共學課程,我覺得平鋪直敍,不像 Python 深入學習 給我的那種《WOW》的感覺。

知其然不知其所以然。

我的意思是,看課程好像懂了,但如果問我為什麼要這麼做?或是什麼場合要選哪個設計模式?我又講不太出來。

這情形可能是我學藝不精,也可能是講師的內容就只能理解到此,所以我想多找些參考資料,來確認是哪個原因。

以下是週末時整理的資料,給自己參考,也希望對大家有幫助!

我推薦優先觀看的是這三個:

  1. 深入淺出設計模式 影片教學(第一版,19部,非官方)

  2. 深入淺出設計模式 閱後筆記(第一版,文章中有各模式的筆記)

  3. 深入淺出設計模式 Python 程式碼(第二版,書中原為 Java)


影片教學

深入淺出設計模式(第一版,非官方)

這部影片是根據 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. 中文(第一版)


深入淺出設計模式 第二版內容

  1. 設計模式簡介:設計模式歡迎您!

  2. 觀察者模式:讓你的物件掌握現況

  3. 裝飾器模式:裝飾物件

  4. 工廠模式:烘焙 OO 的精華

  5. 單例模式:獨一無二的物件

  6. 命令模式:封裝呼叫

  7. 轉接器與門面模式:隨機應變

  8. 樣板方法模式:封裝演算法

  9. 迭代器與組合模式:井然有序的集合

  10. 狀態模式:事物的狀態

  11. 代理模式:控制與物件的接觸

  12. 複合模式:在模式中的模式

  13. 與設計模式融洽相處:真實世界的模式

  14. 附錄:遺珠之憾

    • 橋接模式 Bridge Pattern

    • 建造者模式 Builder Pattern

    • 責任鏈模式 Chain Of Responsibility Pattern

    • 蠅量模式 Flyweight Pattern

    • 解譯器模式 lnterpreter Pattern

    • 仲介模式 Mediator Pattern

    • 備忘錄模式 Memento Pattern

    • 原型模式 Prototype Pattern

    • 訪問者模式 Visitor Pattern


深入淺出設計模式 第一版筆記

提醒:文章中有各章的筆記,請點擊其中各模式的 :orange_book: 筆記回顧。


線上課程(LinkedIn Learning)- 原作者講解

說明:LinkedIn 的方式並非買斷課程,而是租用。付費(會員)期間,可觀看所有線上課程(21,000+),課程完成後,如果之後未持續付費,便無法觀看。

建議:如果真的想看,免費試用即可,課程總長度才 1 小時 44 分鐘。但看完要記得退掉。

Programming Foundations: Design Patterns

長度:1 小時 44 分鐘 ║ 專業實力:中級 ║ 推出日期:2019/5/6

免費試用 1 個月


購書

1. 老牌重慶南路書局轉型的線上書店

2. 以超低折扣引發出版商歇業抗議的 momo

3. 疑似「假承攬真僱傭」清潔阿姨的博客來


延伸閱讀