Upgrade to Pro — share decks privately, control downloads, hide ads and more …

iPlaygourd 2024

Hai Feng Kao
November 16, 2024
2

iPlaygourd 2024

Introduction of real object-oriented programming

Hai Feng Kao

November 16, 2024
Tweet

Transcript

  1. 學校的答案 繼承 物件導向的核 心 概念, 用 於建立 類別之間的階層關係。 封裝 將數據和

    行 為封裝在物件內部, 隱藏實現細節。 多型 為不同資料類型的實體提供統 一 的介 面
  2. 學校的答案帶來的軟體浩劫 奇怪的繼承關係 物件導向程式設計中,複雜的繼 承階層和令 人 困惑的關係 錯誤的設計實例 適當的抽象化和封裝概念,會產 生 不合理的程式設計實例

    物件肥 大 的問題 需求增加導致物件肥 大 ,使得物 件的程式碼長達數千 行 ,創造離 職的念頭 隱藏的依賴關係 物件之間隱藏的依賴關係,增加 了系統的複雜度和脆弱性。改 一 個地 方 壞三個地 方
  3. 模組化就是童話故事 模組就像 一 棵棵樹 木 ,長在我們的程式碼 里 。 隨著時間經過,開枝散葉,最後連的亂七八糟,把 自己

    和我們的 人 生 都毀了 千萬不要挑戰抽象滲漏法則 這種以類別為中 心 的設計,忽視了林 木 之間的互動和依存關係。 https://www.youtube.com/watch?v=ZDpPmK5VQLA
  4. Alan Kay的先 見 之明 I thought of objects being like

    biological cells and/or individual computers on a network, only able to communicate with messages (so messaging came at the very beginning it took a while to see how to do messaging in a programming language efficiently enough to be useful). • Kay早有將物件比作活細胞的巧思,展現其前瞻性思維和深邃的物件導向理解。
  5. Alan Kay的先 見 之明 I thought of objects being like

    biological cells and/or individual computers on a network, only able to communicate with messages (so messaging came at the very beginning it took a while to see how to do messaging in a programming language efficiently enough to be useful). • Kay早有將物件比作活細胞的巧思,展現其前瞻性思維和深邃的物件導向理解。
  6. DCI的三 大支 柱 Data 物件的本質,純粹的資料存在。不 論是企鵝還是鴨 子 ,都可以是資料 的載體。 Context

    負責定義物件的 角色 分配,使物件 的 行 為有了意義。 Role (Interaction) 物件的 行 為,純粹的函數存在。相 同Context的Role組成了物件的互 動關係
  7. 結語 更多課程 想學更多可以參加Jim Copilen開 設的課程。 課程內容 課程時間為2天,費 用 為800歐 元。

    課程網址 課程網址為https://codecamp.ro/masterclasses/data-context-and- interaction-dci-2/。