ISP (Interface Segregation Principle) 介面分隔原則:用戶不應被迫相依於他們用不到的method。
我在LSP舉的爛例子又派上用場。Employee不應該加上calcSalary的method,也不該有store的method。
這個原則真是簡單明瞭,主要用途是降低耦合。當發現必須要實作用不到的method時,就是設計上出問題,必須refactor。(其實我以前常犯這個錯誤)
- 使用多個專門的介面比使用單一的總介面要好,否則會造成對介面的污染。
- 一個類別對另一個類別的依賴性應當是建立在最小的介面上。
我在LSP舉的爛例子又派上用場。Employee不應該加上calcSalary的method,也不該有store的method。
這個原則真是簡單明瞭,主要用途是降低耦合。當發現必須要實作用不到的method時,就是設計上出問題,必須refactor。(其實我以前常犯這個錯誤)
留言