面向对象设计原则与设计模式解析
1. 面向对象设计原则
1.1 接口隔离原则
接口隔离原则指出,客户端不应依赖它们不使用的接口,尤其不应依赖它们不使用的方法。在实际编程中,我们常使用接口来使代码更灵活、更易维护,但也容易陷入一个误区,即认为接口越大越好。然而,过度“泛化”接口会破坏其内聚性。
当我们因为某个实现接口的子类需要某个方法,而其他子类不需要,就往接口中添加新方法时,就会使接口的内聚性降低,从而违反接口隔离原则。解决办法是创建更多的接口,将臃肿的接口拆分成两个或更多更小、内聚性更强的接口。这样,新类就可以只实现它们需要的接口,而不实现不需要的接口。
1.2 最少知识原则
最少知识原则,也称为迪米特法则,它要求一个对象只与它的直接朋友交流。在应用中,强内聚的补充是松耦合,这正是最少知识原则的核心。该原则指出,类应尽可能少地与其他类间接协作。
例如,编写一个绘制汽车温度数据的应用程序时,部分代码可能如下:
public void plotTemperature(Sensor theSensor) {
double temp = theSensor.getSensorData().getOilData().getTemp();
...
}
这种写法会使 plotTemperature 方法与 Sensor 、 SensorData 和 OilSensor 类紧密耦
超级会员免费看
订阅专栏 解锁全文
2995

被折叠的 条评论
为什么被折叠?



