19、面向对象设计原则与设计模式解析

面向对象设计原则与设计模式解析

1. 面向对象设计原则

1.1 接口隔离原则

接口隔离原则指出,客户端不应依赖它们不使用的接口,尤其不应依赖它们不使用的方法。在实际编程中,我们常使用接口来使代码更灵活、更易维护,但也容易陷入一个误区,即认为接口越大越好。然而,过度“泛化”接口会破坏其内聚性。

当我们因为某个实现接口的子类需要某个方法,而其他子类不需要,就往接口中添加新方法时,就会使接口的内聚性降低,从而违反接口隔离原则。解决办法是创建更多的接口,将臃肿的接口拆分成两个或更多更小、内聚性更强的接口。这样,新类就可以只实现它们需要的接口,而不实现不需要的接口。

1.2 最少知识原则

最少知识原则,也称为迪米特法则,它要求一个对象只与它的直接朋友交流。在应用中,强内聚的补充是松耦合,这正是最少知识原则的核心。该原则指出,类应尽可能少地与其他类间接协作。

例如,编写一个绘制汽车温度数据的应用程序时,部分代码可能如下:

public void plotTemperature(Sensor theSensor) {
    double temp = theSensor.getSensorData().getOilData().getTemp();
    ...
}

这种写法会使 plotTemperature 方法与 Sensor SensorData OilSensor 类紧密耦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值