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

Object Oriented Training - Session 4

hatelove
July 09, 2012

Object Oriented Training - Session 4

里氏替換原則、最小知識原則、介面隔離原則、依賴反轉原則

hatelove

July 09, 2012
Tweet

More Decks by hatelove

Other Decks in Technology

Transcript

  1. - 8 - Liskov Substitution Principle • 情況 – 當父類行為不符合子類需求,且子類無法

    override 時 – 當子類繼承父類,卻無法正常替代父類運作時 • 規範繼承關係 – 確保多型可正常運作
  2. - 16 - Interface Segregation Principle • 介面的單一職責 – 介面也應該內聚,避免出現「胖」介面

    • 規範依賴程度 – 一個物件對另一個物件的依賴,應建立在最小的介面上 – 不要強迫依賴了沒使用的方法,這是種介面污染 胖
  3. - 23 - 作業 – 幫DAO穿衣服 • 原本需求 – Product資料異動時,需記錄log,查詢不用

    – 對Product進行CRUD時,需檢查權限 • 重構需求 – 將權限驗證與log相關職責,從ProductDao獨立出來 – 讓ProductDao只處理CRUD的需求 • 需求異動 – 在測試環境時,不檢查權限與不記錄log – 檢查測試環境條件,請使用Context.IsTestEnvironment