[Day 07] 備忘錄模式,蠅量級模式,拜訪者模式,單元測試


完賽心得

很快的今天是寫作松的第七天也是最後一天,很高興能夠完賽,在七天的時間內簡單的了解GoF的23種設計模式,但這只是起點並不是終點,設計模式是要實際應用於程式當中,所以跟coding一樣是沒有終點的,在參加寫作松的過程很高興能夠和先進交流討論。

備忘錄模式

  • 將一個物件的內部狀態儲存在另一個備忘錄物件中,備忘錄物件可用來還原物件狀態。
  • 備忘錄模式其實是備份與存檔的概念。

蠅量級模式

  • 大量物件共享一些共同性質,以降低系統負荷。
  • 一個蠅量級類別的內部性質,即為所有物件共用的性質。
  • 一個蠅量級類別的外部性質,即為隨著需求可以變換的性質。

拜訪者模式

  • 用不同的拜訪者使集合中的元素行為與元素類別分離。
  • 在JAVA中,集合可透過泛型裝進同一個父類別的物件,但缺點是物件的行為被泛型綁死了,為了使類別的物件在集合中還能保有自己的特性,使用拜訪者將物件的行為進行封裝。

單元測試

在設計模式的最後,我們來探討一個問題,就是要如何測試一段程式碼功能是否正確,有沒有返回我們預期的值,這時就需要用到單元測試,debug雖可以達到一樣的功能,不過較為麻煩,且還須人工監看輸出結果是否正確。

Juint單元測試工具

Juint為一個單元測試工具,讓開發者簡單地進行單元測試,只要寫好程式碼,執行後就可以立即得到結果。

總整理

創建型模式

  • 簡單工廠模式
  • 工廠模式
  • 抽象工廠模式
  • 單例模式
  • 原型模式
  • 建造者模式

結構型模式

  • 表象模式
  • 合成模式
  • 轉接器模式
  • 代理模式
  • 裝飾模式
  • 蠅量級模式
  • 橋梁模式

行為型模式

  • 命令模式
  • 觀察者模式
  • 策略模式
  • 樣板模式
  • 走訪器模式
  • 狀態模式
  • 責任鏈模式
  • 解譯器模式
  • 中介者模式
  • 備忘錄模式
  • 拜訪者模式

#寫作松 #設計模式







你可能感興趣的文章

第二周筆記 (JS) -2

第二周筆記 (JS) -2

Everyday life

Everyday life

CS50 HTTP (Hypertext Transfer Protocol)

CS50 HTTP (Hypertext Transfer Protocol)






留言討論