iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
3
Software Development

你終究都要學設計模式的,那為什麼不一開始就學呢?系列 第 1

Day1. 前言(動機與簡介)

前言

大家好,我是Bear,目前是名PHP工程師。
寫文章的當下,著迷於Clean Code、Design Pattern跟Testing。

最近在研究自己寫code的flow。

動機

  1. 三個月前開始在blog寫相關內容,
    想趁這次鐵人賽的機會,重新整理概念。
  2. 與大家討論學習,順便交交朋友(笑)。

簡介

目前規劃會在第一個禮拜,準備一些基本的原則與說明,建立大家討論的基礎。

接著介紹各種Design Pattern,原則上會以一天模式、一天範例的形式作切換。

內容主要參考:深入淺出設計模式、大話設計模式。
(沒有參考GoF四人幫的原因:我還沒買。)

目錄

Day1. 前言(動機與簡介)
Day2. 單一職責原則
Day3. 開放封閉原則
Day4. 裡氏替換原則
Day5. 介面隔離原則
Day6. 依賴反轉原則
Day7. UML類別圖說明


Day8. 簡單工廠模式
Day9. 範例:運輸系統(簡單工廠模式)
Day10. 策略模式
Day11. 範例:收銀機(策略模式)
Day12. 裝飾者模式
Day13. 範例:漢堡點餐系統(裝飾者模式)


Day14. 命令模式
Day15. 範例:機器人廚師(命令模式)
Day16. 樣板方法模式
Day17. 範例:影片製作大師(樣板方法模式)
Day18. 轉接頭模式
Day19. 範例:才藝表演(轉接頭模式)


Day20. 工廠方法模式
Day21. 範例:運輸系統(工廠方法模式)
Day22. 外觀模式
Day23. 範例:自助餐餐廳 (外觀模式)
Day24. 狀態模式
Day25. 範例:會員制(狀態模式)


Day26. 觀察者模式
Day27. 範例:Line群組通知(觀察者模式)
Day28. 抽象工廠模式
Day29. 範例:運輸系統 (抽象工廠模式)
Day30. 8人訂閱Q&A問答


Day31. 單例模式
Day32. 範例:資料庫連線(單例模式)
Day33. 迭代器模式
Day34. 範例:歌曲排行(迭代器模式)
Day35. 代理模式


Day36. 範例:快取代理(代理模式)
Day37. 原型模式
Day38. 範例:三隻小豬 (原型模式)
Day39. 建造者模式
Day40. 範例:假期規劃 (建造者模式)


Day41. 備忘錄模式
Day42. 範例:仿真Git (備忘錄模式)
Day43. 蠅量模式
Day44. 範例:文字積木 (蠅量模式)
Day45. 解譯器模式


Day46. 範例:摩斯電碼 (解譯器模式)
Day47. 組合模式
Day48. 範例:生物分類學(組合模式)
Day49. 橋接模式
Day50. 範例:十二生肖


Day51. 職責鏈模式
Day52. 範例:新產品開發(職責鏈模式)
Day53. 中介者模式
Day54. 範例:打招呼(中介者模式)
Day55. 訪問者模式


Day56. 範例:各國婚禮(訪問者模式)
Day57. 系列完結心得


ʕ •ᴥ•ʔ:THE END


下一篇
Day2. 單一職責原則
系列文
你終究都要學設計模式的,那為什麼不一開始就學呢?57

尚未有邦友留言

立即登入留言