从真实世界看依赖注入

今天讲讲依(hun)赖(chi)注(deng)入(si)(DI,Dependency Injection

通俗的说就是衣来伸手,饭来张口。像极了在家喊我妈的样子。

看看平常我在家是怎么喊我妈的,下面这个是我,能吃又能喝,好吃的好喝的都想要。

/**
 * 儿砸类
 */
public class ErZa {

    public void chi(HaoChiDe haoChiDe){
        System.out.println(haoChiDe.haoChi());
    }

    public void he(HaoHeDe haoHeDe){
        System.out.println(haoHeDe.haoHe());
    }
}

我的终极目标是混吃等死,就像下面这样: 

/**
 * 混吃等死
 */
public class HunChiDengSi {
    public static void main(String[] args) {
        ErZa erZa = new ErZa();

        //儿砸喝可乐
        erZa.he(new KeLe());

        //儿砸吃饺子
        erZa.chi(new JiaoZi());
    }
}

 依赖注入的精华就在上面这最后一句话,我仔细解析一下:

 

 依赖注入简直是混吃等死的经典之作了,我只需要张着嘴,就可以被投喂到各种各样的好吃的好喝的,只需要会吃会喝!

会做?不需要的!这辈子是不可能的。

什么都系好吃好喝我管不着,反正就是好吃、好喝就行:

public interface HaoChiDe {
    public String haoChi();
}

public interface HaoHeDe {
    public String haoHe();
}

饺子好吃,实现了haoChiDe接口

/**
 * 饺子
 */
public class JiaoZi implements HaoChiDe{
    public String haoChi() {
        return "饺子好吃";
    }
}

可乐好喝,实现了haoHeDe接口

/**
 * 可乐
 */
public class KeLe implements HaoHeDe{
    public String haoHe() {
        return "可乐好喝";
    }
}

最后我们看看不混吃等死的奋斗青年是什么样的:

public class HaoErZa {
    //自己煮饺子
    public void ziJiZhuJiaoZi() {
        System.out.println("饺子好吃");
    }
    
    //自己买可乐
    public void ziJiMaiKeLe() {
        System.out.println("可乐好喝");
    }
}

发现奋斗青年只会能吃能喝是不行, 还需要自己会做饭,这可就难了。完全没有躺着被喂到嘴边爽。

public class FenDou {
    public static void main(String[] args) {
        HaoErZa haoErZa = new HaoErZa();
        haoErZa.ziJiMaiKeLe();
        haoErZa.ziJiZhuJiaoZi();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值