iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
影片教學

『請你跟我這樣做』- 30 天 TDD 出一個 SLOT 算分器系列 第 23

Day 23 Free Game 最終日:抽象化與設計模式

  • 分享至 

  • xImage
  •  

Yes

抽象化

抽象化是所有重構技巧的根基。何謂抽象化?抽象化指的是一段程式碼不被當下的特殊狀態綁住,單純只看業務邏輯,抽象化也是一個把『不同』與『相同』分離出來的技巧。

例如在影片中,我們試著把 Base Game 與 Free Game 中一樣的部分抽出來,留不一樣的部分待注入。

抽象化是一件很重要的事,如果各位仔細去看重構技巧與設計模式,其實這些技巧與模式用得好不好,差別就在於你抽象化過程『抽』得乾不乾淨。

甚至,當你抽象化做得好,耦合與內聚抓準,這時你程式內重複性會被壓在一個可控程度內,這時是不是設計模式也已經沒關係了。

設計模式

設計模式是一套在特定場景可以套用來解決特定問題的方法集。為什麼說『特定』,主要是學習設計模式後很容易一不小心就把模式套用在不適合的地方,乾淨不成,反而造成後續維護的困擾。

因此,學習設計模式不能只學模式,還要連場景一起學才對。

如果發現這個場景遇到的問題不是當初這個模式想解決的問題,那麼硬著頭皮套也只是徒增複雜的
度而已,不可不慎。


上一篇
Day 22 抽象化的 Free Game 與 Base Game
下一篇
Day 24 由加入一個新遊戲談重構的好處與 Test Scope 的選擇
系列文
『請你跟我這樣做』- 30 天 TDD 出一個 SLOT 算分器30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言