星期日, 10月 15, 2006

ISP: Interface Segregation Principle

ISP (Interface Segregation Principle) 介面分隔原則:用戶不應被迫相依於他們用不到的method。

  • 使用多個專門的介面比使用單一的總介面要好,否則會造成對介面的污染。
  • 一個類別對另一個類別的依賴性應當是建立在最小的介面上。

我在LSP舉的爛例子又派上用場。Employee不應該加上calcSalary的method,也不該有store的method。

這個原則真是簡單明瞭,主要用途是降低耦合。當發現必須要實作用不到的method時,就是設計上出問題,必須refactor。(其實我以前常犯這個錯誤)

沒有留言: