小白也能看懂的设计模式七大原则——依赖倒置原则

中心思想

依赖倒置的中心思想其实就是面向接口编程。我们在编程的过程中要尽可能地实现细节依赖抽象这样的原则,这样可以极大地为后续改动节省精力

举例对比

未遵守依赖倒置原则的代码

package Mytest;

import FactoryMethod.Wheel;

public class Normal {
    public static void main(String[] args)
    {
        Person person =new Person();
        person.receive(new Email());
        Wechat wechat=new Wechat();
        person.receive(wechat);
    }
}

class Email{
    public String getInfo()
    {
        return "电子邮件";
    }
}
class Wechat{
    public  String getInfo()
    {
        return"Wechat info";
    }
}
class Person{
    public void receive(Email email)
    {
        System.out.println(email.getInfo());
    }
    public void receive(Wechat wechat)
    {
        System.out.println(wechat.getInfo());
    }
}

遵守依赖倒置原则的代码

package Mytest;

public class Improve {
    public static void main(String[] args)
    {
        Person2 person2 =new Person2();
        person2.receive(new Email2());
        person2.receive(new Wechat2());
    }
}
interface Info{
    public String getInfo();
}
class Email2 implements Info{
    public String getInfo()
    {
        return "电子邮件";
    }
}
class Wechat2 implements Info{
    public  String getInfo()
    {
        return"Wechat info";
    }
}
class Person2{
    public void receive(Info info)
    {
        System.out.println(info.getInfo());
    }

}

可以看到在改进的代码中, 将获取信息这个功能抽象出来,当作单独的接口,让其他不同的信息来源去实现它,从而减少了改动难度(如果想要再增加一个QQ信息来源就方便多了!)

本博客均为个人学习记录,希望大家一起交流探讨,如有错误欢迎指正~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值