Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

那一夜我們說Pattern design patterns 20周年-published

9.561 Aufrufe

Veröffentlicht am

C. C. Agile Sprint 18 分享

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

那一夜我們說Pattern design patterns 20周年-published

  1. 1. Teddy Chen teddy@teddysoft.tw http://teddy-chen-tw.blogspot.tw/ Feb. 20 2014
  2. 2. • 超過18年軟體開發經驗。2012年7月 成立泰迪軟體,從事敏捷開發顧問、 教育訓練、軟體工具導入等服務。 • 2012年6月,出版暢銷書「笑談軟體 工程:敏捷方法的逆襲」,獲iTHome 週刊推薦為2012年iT人必看好書。 • 2009年取得Certified ScrumMaster。 • 2008年取得台北科技大學資工博士。 • 2007年起經營「搞笑談軟工」部落格。 Copyright@2014 Teddysoft
  3. 3. 1994 年 GoF Design Patterns Copyright@2014 Teddysoft
  4. 4. 1936 : 奧地利 1958: 英國美國 Notes on the Synthesis of Form, 1964 (-1936 = 28) The Oregon Experiment, 1975 A Pattern Language: Towns, Buildings, Construction, 1977 The Timeless Way of Building, 1979 (-1936 = 43) 1979-1964 = 15 Copyright@2014 Teddysoft
  5. 5. 1979~1994 這15年之間發生了什麼事? Copyright@2014 Teddysoft
  6. 6. 1964 《Notes on the Synthesis of Form》 1975 1977 1979 《The Oregon Experiment》 《 A Pattern Language》 《 The Timeless Way of Building》 1987 OOPSLA 87 Using Pattern Language for ObjectOriented Programs 1990 TOOLS 90,ECOOP/OOPSLA 90 1991 《 Advanced C++ Programming Styles and Idioms》 1992 OOPSLA 91 Workshop OOPSLA 92 Workshop 1993 1994 2001 Kent Beck Ward Cunningham Bruce Andersen (Erich Gamma, Richard Helm) Jim Coplien Bruce Andersen (Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides) Kent Beck, Grady Booch, etc. Hillside Group First PLoP Conference 《 Design Patterns》 Ward Cunningham, Ralph Johnson GoF 《物件導向設計模式 Design Patterns》 葉秉哲 2004 10th PLoP Conference 2014 C. C. Agile Sprint 18 Copyright@2014 Teddysoft Teddy, Kay參加 鄉民 XD
  7. 7. 1994~2014 這20年之間又發生了什麼事? Copyright@2014 Teddysoft
  8. 8. 人家已經上太空 我們還在殺豬公 殺 迷之音: 上太空就不用殺豬公了嗎 XD Copyright@2014 Teddysoft
  9. 9. 1. The Timeless Way Process, it cannot be attained Pattern of event, geometric patterns, cannot be made, can only be generated 2. Quality (QWAN) 3. Gate Pattern language 4. Way Single mind, distributed acts, no drawing, unfolding, on pattern at a time, repair 5. The Kernel of the Way Learning the disciple– and shedding it Copyright@2014 Teddysoft
  10. 10. 茶道 政治 劍道/武術 繪畫 建築 Copyright@2014 Teddysoft 家庭 捷運 軟體開發
  11. 11. 永恆之道只可透過流程 自行產生,不可強取 Copyright@2014 Teddysoft
  12. 12. 茶道 政治 劍道/武術 繪畫 建築 Copyright@2014 Teddysoft 家庭 捷運 軟體開發
  13. 13. Quality Without A Name (QWAN) Copyright@2014 Teddysoft
  14. 14. 說到「美」,你 會想到誰? Copyright@2014 Teddysoft
  15. 15. Copyright@2014 Teddysoft
  16. 16. 台鐵天使 餵無 手伯吃便當 10 萬人按讚 Copyright@2014 Teddysoft
  17. 17. Copyright@2014 Teddysoft
  18. 18. Copyright@2014 Teddysoft
  19. 19. 請定義「幸福」 Copyright@2014 Teddysoft
  20. 20. 問題:既然無法命名,要 如何描述與溝通無名特質? Copyright@2014 Teddysoft
  21. 21. 透過觀察Pattern (模式) 來得知特質的有無 Copyright@2014 Teddysoft
  22. 22. 來源:http://zh.wikipedia.org/wiki/File:Magnet0873.png Copyright@2014 Teddysoft
  23. 23. Copyright@2014 Teddysoft
  24. 24. 組成建築、城市的特定模式可以是 有活力的,也可以是死氣沉沉的 具有越多有活力的模式,就越具有 無名特質的自我維持特性 Copyright@2014 Teddysoft
  25. 25. 茶道 政治 劍道/武術 繪畫 建築 Copyright@2014 Teddysoft 家庭 捷運 軟體開發
  26. 26. 建立領域相關的Pattern Language Copyright@2014 Teddysoft
  27. 27. Copyright@2014 Teddysoft
  28. 28. Pattern  單字 Pattern Language 句子 Copyright@2014 Teddysoft
  29. 29. 一個Pattern解決一個特定的(小)問題 好幾個Pattern形成Pattern Language 便可解決較大的問題 Copyright@2014 Teddysoft
  30. 30. 茶道 政治 劍道/武術 繪畫 建築 Copyright@2014 Teddysoft 家庭 捷運 軟體開發
  31. 31. • • • • • 分散式行動 單一心智 不須繁複設計圖 一次一個模式的展開過程 修復 這不是XP,什麼才是XP? Copyright@2014 Teddysoft
  32. 32. 茶道 政治 劍道/武術 繪畫 建築 Copyright@2014 Teddysoft 家庭 捷運 軟體開發
  33. 33. 何本明菩 處來鏡提 惹無亦本 塵一非無 埃物台樹 PK 火頭僧—慧能禪師 (文盲) Copyright@2014 Teddysoft 勿 使 惹 塵 埃 時 時 勤 拂 拭 心 如 明 鏡 台 身 是 菩 提 樹 大弟子神秀大師
  34. 34. 直接由Force產生設計 《Notes on the Synthesis of Form》 Copyright@2014 Teddysoft
  35. 35. 1. 世上存在某種永恆不變之道 此道只可透過流程自行產生,不可強取 2. 它具有某些無法命名的特質 透過觀察Pattern來得知特質的有無 3. 以PL作為求道的大門 建立領域相關的Pattern language 4. 實踐與套用PL 單一心智、分散式行動, 不須繁複設計 圖, 一次一個模式的展開過程, 修復 5. 最後,忘掉PL才可真正得道 學習方法—然後忘記它 Copyright@2014 Teddysoft
  36. 36. Copyright@2014 Teddysoft
  37. 37. A pattern is a solution to a problem in a context. A pattern is a proven solution to a recurring problem in a specific context, and more. Copyright@2014 Teddysoft
  38. 38. 欲知詳情,請報名參加: Design Patterns這樣學就會了:入門實作班 Design Patterns這樣學就會了:進階實作班 Copyright@2014 Teddysoft
  39. 39. Copyright@2014 Teddysoft
  40. 40. 1. 2. 3. 4. 5. Window Per Task Few Panes Per Window Standard Panes Short Menus Nouns and Verbs Copyright@2014 Teddysoft
  41. 41. Copyright@2014 Teddysoft
  42. 42. Copyright@2014 Teddysoft
  43. 43. Copyright@2014 Teddysoft
  44. 44. Copyright@2014 Teddysoft
  45. 45. Copyright@2014 Teddysoft
  46. 46. Copyright@2014 Teddysoft
  47. 47. Client Type A Server Database Copyright@2014 Teddysoft Device B Device C Client Type D UI Client Type B Client Type C User Device A Device D
  48. 48. <client> <server> User Server Client Type A Device A Client Type B Device B <client> <client> Client Type C Device C <server> <server> Client Type D Device D UI <client> Database <server> <client> Copyright@2014 Teddysoft <server>
  49. 49. <client> User Server Device A Client Type B <server> Client Type A Device B Plug-in <client> <client> Client Type C <server> <server> Client Type D UI <client> Plug -in Device C Device D Database <server> <client> Copyright@2014 Teddysoft <server>
  50. 50. <client> User Server Device A Client Type B <server> Client Type A Device B Plug-in <client> <client> Client Type C <server> <server> Client Type D UI <client> ORMapping ORMapping Plug -in Device C Device D Database <server> <client> Copyright@2014 Teddysoft <server>
  51. 51. <client> State Observer Command … User Server Device A Client Type B <server> Client Type A Device B Plug-in <client> <client> Client Type C <server> <server> Client Type D UI <client> ORMapping ORMapping Plug -in Device C Device D Database <server> <client> Copyright@2014 Teddysoft <server>
  52. 52. 維護社會治安不僅是警察的責任 維持可擴充的軟體架構也不僅是架構師的責任 如果人人都是架構師,如何避免架構被改壞? Copyright@2013 Teddysoft
  53. 53. 問題:我只是要開發軟體, 又不是要出家,為什麼要知 道這一堆奇奇怪怪的東西? Copyright@2014 Teddysoft
  54. 54. 因為我們都是人 Copyright@2014 Teddysoft
  55. 55. 而且是資訊人 Copyright@2014 Teddysoft
  56. 56. The Timeless Way of Programming Copyright@2014 Teddysoft
  57. 57. 練拳不練功 到老一場空 練功不輕鬆 到老養生終 Copyright@2014 Teddysoft
  58. 58. • Patterns and Software: Essential Concepts and Terminology by Brad Appleton • History Of Patterns – http://c2.com/cgi-bin/wiki?HistoryOfPatterns • The Timeless Way of Building • Kent Beck、Ward Cunningham、Christopher Alexander、台鐵天使等照片節錄自網路 Copyright@2014 Teddysoft
  59. 59. Copyright@2014 Teddysoft 66

×