l

2017年8月3日 星期四

《設計模式的逆襲》第N度復活:Command

August 03 12:37~13:06

螢幕截圖 2017-08-02 08.15.08


打個廣告,第十七梯次「Design Patterns這樣學就會了:入門實作班」招生中,上課日為9月16、17、23(六、日、六)。課程提供Java與C#程式範例。

***

Kay常說Teddy做事情「開機很慢」,可是一旦開機之後做事情動作就很快。其實也不是Teddy喜歡拖,只是想把事情做好有很多事前工作需要準備。尤其是寫書、製作教材這種事,不認真做變成「誤人子弟」這個罪名可是擔當不起。

有些事情可以很敏捷、很靈活,小步 亂跑 快跑,收集回饋。有些事情則需要好好規劃,收集資料,醞釀、等待時機。

希望這次「開機」可以維持久一點,以四天完成一個pattern的進度估算,23 * 4 = 92,加上「一例一休」,順利寫完GoF 23個設計模式大約需要4個月的時間,也就是年底。

今天完成第三個模式:Command,檔案在此歡迎批評指教。

一併提供之前已完成的兩個模式:

***

友藏內心獨白:三個分類先各寫一個。

6 則留言:

  1. 一個小小小修改
    第 8 頁的
    「所以 Server 只要需個 List」
    可以在「個」前面加上「一」,也就是
    「所以 Server 只要需一個 List」

    回覆刪除
  2. 第 9 頁的圖,或許可以再加一張修改前的圖與之對比

    然後第 2 頁的第 2 張圖,或許調整一下位置(左右鏡射),與範例相對應,視覺上可能會比較清楚一點。

    沒法在留言中貼圖,See http://yuelinho.blogspot.tw/2017/08/command-pattern.html :)

    回覆刪除
  3. 第 2 頁的二張圖中的 Client 是同指同一個 Client?

    回覆刪除
    回覆
    1. 雖然重點在 Command 和 ConcreteCommand 身上,但在範例中 Client 的存在感好像太過薄弱。

      另外,圖中有錯字 ConcentCommand -> ConcreteCommand

      刪除
  4. 大師說的原文: Any problem in computer science can be solved by another layer of indirection.

    回覆刪除
    回覆
    1. Hi 小猴,
      謝謝你提供的多個意見,我會加以調整內容。

      刪除