## 接口隔離原則
含義:客戶端不應該依賴它不需要的接口,一個類對另一個類的依賴應該建立在最小的接口上。(來自百度百科)
舉個栗子:
現在有一個考試類,上面有考試接口,分別是考語數外、理化生、政史地等接口。現在有文科學生類和理科學生類分別繼承考試類,實現考試類的接口進行考試。這里就有些違反接口隔離原則了,因為文科學生并不需要考物理化,理科學生也并不需要考政史地。
解決:
對考試接口進行細化,文科考試接口和理科考試接口;文科生、理科生另外各自實現文科考試接口、理科考試接口。
~~~
// 文科考試接口
class ArtsExam{
constructor(name) {
this.name = name
}
exam() {
console.log(`我是${this.name}我要參加考語數外歷史地理政治`)
}
}
// 理科考試接口
class ScienceExam{
constructor(name) {
this.name = name
}
exam() {
console.log(`我是${this.name}我要參加考語數外物理化學生物`)
}
}
// 文科學生
class Arts extends ArtsExam{
constructor(name){
super(name)
}
}
// 理科學生
class Science extends ScienceExam{
constructor(name){
super(name)
}
}
student1=new Arts("文科生小紅")
student1.exam()// 我是文科生小紅我要參加考語數外歷史地理政治
student2=new Science("理科生小明")
student2.exam()// 我是理科生小明我要參加考語數外物理化學生物
~~~
- 視覺規范
- 色彩
- 文字
- 偏移
- 圖標
- 列表組件
- 表單組件
- 詳情組件
- 其他組件
- 研發規范
- 編碼規范
- 函數式編程
- 純函數
- 柯里化
- 函數組合
- 函子
- 面向對象編程
- 設計原則
- 單一職責原則
- 里氏替換原則
- 依賴倒置原則
- 接口隔離原則
- 開閉原則
- 迪米特原則
- 組合復用原則
- 設計模式
- 創建型模式
- 工廠模式
- 簡單工廠
- 工廠方法
- 抽象工廠
- 單例模式
- 建造者模式
- 原型模式
- 結構型模式
- 適配器模式
- 橋接模式
- 過濾器模式
- 組合模式
- 裝飾器模式
- 外觀模式
- 享元模式
- 代理模式
- 行為型模式
- 責任鏈模式
- 命令模式
- 解釋器模式
- 迭代器模式
- 中介者模式
- 備忘錄模式
- 觀察者模式
- 狀態模式
- 策略模式
- 模板模式
- 訪問者模式
- 組件設計規范
- 組件文檔編寫規范
- 版本管理規范