用“厨师思维”讲解依赖注入
我这个人好吃,不光好吃还喜欢做饭,每天都喜欢变着花样给自己做饭,今天做红烧肉,明天可能就做黄焖鸡。
做饭有时候需要放糖,提鲜或者熬汤色,不同的菜放的糖不一样,起的作用也不一样。
今天我做红烧肉需要熬汤色,放一把白糖。我就从白糖罐子里取出来白糖放进去。
明天我煮绿豆汤,我就把冰糖罐子里拿出来放进去。
但是厨房瓶瓶罐罐太多了,放不下那么多罐子,我只希望保留一个糖罐子,我需要白糖的时候,它里边放的就是白糖,
我需要冰糖的时候,它里边放的就是冰糖。
怎么实现呢,就是我做饭的时候告诉我老婆我需要什么糖,我老婆就把那个糖放进罐子里,我做饭的时候就不用来回找糖了。
代码上怎么实现的呢
做饭嘞{
这有个糖罐!
做饭(new 糖罐){
this.糖罐=糖罐
}
}
做饭嘞 做红烧肉 = new 做饭嘞(白糖罐);
做饭嘞 煮绿豆汤 = new 做饭嘞(冰糖罐);
这个糖罐就是个接口,白糖罐和冰糖罐都是实现类
这样的好处是什么呢,那就是厨房里这个罐子我不用动它,每次做的时候顺带就把该用的糖放在里面了。

浙公网安备 33010602011771号