任何客戶端都不應該被迫依賴它不使用的方法
考慮辦公空間的範例,其中使用物件表示各種輸出設備
介面隔離原則之前:
I多功能介面
現在為各種設備實現上述通用介面
具有所有功能的 XeroxWorkCenter 類別
HpPrinterNScanner 類別具有列印和掃描功能
CanonPrinter 類別只有列印功能
ISP違規辨識技巧
介面隔離原則之後:
每個介面都有一個單一的職責,並且現在更加乾淨。
ISP 與其他 SOLID 原則的關係
單一責任
將介面分割成不同的介面後,現在所有介面(例如 IPrint、IScan)都有單一職責
里氏替換
由於隔離,現在所有類別(實現介面)都遵循里氏替換,因為所有子類型或實作類別都可以用它們的介面引用變數替換
以上是介面隔離原則的詳細內容。更多資訊請關注PHP中文網其他相關文章!