任何客户端都不应该被迫依赖它不使用的方法
考虑办公空间的示例,其中使用对象表示各种输出设备
接口隔离原则之前:
I多功能接口
现在为各种设备实现上述通用接口
具有所有功能的 XeroxWorkCenter 类
HpPrinterNScanner 类具有打印和扫描功能
CanonPrinter 类只有打印功能
ISP违规识别技巧
接口隔离原则之后:
每个接口都有一个单一的职责,并且现在更加干净。
ISP 与其他 SOLID 原则的关系
单一责任
将接口划分为不同的接口后,现在所有接口(例如 IPrint、IScan)都有单一职责
里氏替换
由于隔离,现在所有类(实现接口)都遵循里氏替换,因为所有子类型或实现类都可以用它们的接口引用变量替换
以上是接口隔离原则的详细内容。更多信息请关注PHP中文网其他相关文章!