Java设计原则之依赖倒置原则

依赖倒置原则是指程序的设计要依赖于抽象(接口或抽象类),不要依赖于具体实现。这个原则要求我们使用接口或抽象类来声明变量类型、方法参数类型、方法返回值类型、对象类型等。其核心思想就是:面向接口编程,而不是面向实现类编程。
以购买食品为例,定义一个Person类:

public class Person {
    public void buy(Hamburger hamburger) {
        hamburger.eat();
    }
}

上述Person类的buy方法表示一位顾客在购买汉堡,现在顾客又要购买薯条,我们就得修改方法的参数:

public class Person {
    public void buy(Chips chips) {
        chips.eat();
    }
}

这种设计模式显然不符合开闭原则。同时,buy方法的参数类型是以实现类作为参数,不是以接口或者抽象类为参数,也不符合依赖倒置原则。所以我们要抽象出一个接口IDishes作为参数,汉堡类和薯条类都作为接口的实现类。

public interface IDishes {

    void eat();
}
public class Person {
    public void buy(IDishes iDishes) {
        iDishes.eat();
    }
}

这样设计就可以使我们的系统稳定的多,一般顾客要点其它食品,就可以新建个食品类即可,符合开闭原则,提高了程序的扩展性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值