iT邦幫忙

鐵人檔案

2022 iThome 鐵人賽
回列表
自我挑戰組

設計模式探索 系列

關於設計模式的讀書心得整理

鐵人鍊成 | 共 30 篇文章 | 5 人訂閱 訂閱系列文 RSS系列文
DAY 21

[Day 21] 轉接器與門面模式 (1)

物件導向轉接器 終於又進入新的篇章啦!這個轉接器與門面模式也是極度常見與好用(也頗好理解)的模式。首先轉接器,顧名思義,就是將介面轉換為另一個介面,以滿足用戶端...

2022-10-06 ‧ 由 daipeinew 分享
DAY 22

[Day 22] 轉接器與門面模式 (2)

物件轉接器與類別轉接器 類別轉接器的圖示則如下: 圖 1 所謂的類別轉接器需要用多重繼承來進行實作,可以看到圖中的差別,在於adapter在物件轉接器中,是...

2022-10-07 ‧ 由 daipeinew 分享
DAY 23

[Day 23] 在VS Code使用C++

前言 這個篇其實應該出現在一開始才對... 趁著在模式與模式的中間穿插介紹一下。雖然跟設計模式沒有直接關係,但因為想使用C++來做一些測試,選擇在擴充功能豐富的...

2022-10-08 ‧ 由 daipeinew 分享
DAY 24

[Day 24] 狀態模式 (1)

糖果機設計 經過轉接器模式後,先快轉進入到第十章─ 狀態模式。本章的舉例是目前有一台糖果機,想要設計一套軟體讓糖果機變成由軟體控制,要求包含在"投入2...

2022-10-09 ‧ 由 daipeinew 分享
DAY 25

[Day 25] 狀態模式 (2)

新設計 為了加入這個規則,會發現原本的方法全部都會被改到。那堆if-else都要重新加入新的狀態,可以看看違反了前面提到的哪些規則─ 沒有遵守開放/ 封閉原則,...

2022-10-10 ‧ 由 daipeinew 分享
DAY 26

[Day 26] 狀態模式 (3)

狀態模式優點 套用了狀態模式的糖果機程式,功能跟一開始的寫法相同,卻大幅增加了可維護性,因為它移除了那些複雜的if-else判斷,也可以維持封裝的特性─ 讓既有...

2022-10-11 ‧ 由 daipeinew 分享
DAY 27

[Day 27] 樣板方法模式 (1)

來杯飲料吧 接下來我們回過頭看第八章─樣板模式。現在我們來看泡茶與泡咖啡的例子,它們有許多共通點:例如這是泡咖啡的程式: /*程式碼待補*/ 而這是泡茶的程式...

2022-10-12 ‧ 由 daipeinew 分享
DAY 28

[Day 28] 樣板方法模式 (2)

掛勾 在一個樣板方法中,它的結構大概會長這樣: class AbstractClass { void templateMethod() {...

2022-10-13 ‧ 由 daipeinew 分享
DAY 29

[Day 29] 樣板方法模式 (3)

實際使用中的樣板方法 書中舉了 Java API 實際使用樣板方法的例子,其中一個是排序的sort()。sort()是一個靜態方法,而要使用這個排序方法,就要求...

2022-10-14 ‧ 由 daipeinew 分享
DAY 30

[Day 30] To be continued...

心得 雖然還沒把整本書的內容都整理完,但鐵人30已經告一段落~回顧一下這本書總共14章,而這30篇涵蓋了1~8、10章的內容,剩下代理模式、複合模式,以及後面的...

2022-10-15 ‧ 由 daipeinew 分享