第321篇:依赖注入——让对象们和谐共处的艺术
想象一下,你刚搬进一个新小区,想点个外卖。
生活场景:物业告诉你"别找我"
你给物业打电话:“师傅,我家没米了,帮我买点呗?”
物业大爷慢悠悠地说:“小伙子,我们只负责小区管理,不负责给你跑腿。你要买米,自己想办法。”
你一脸懵逼:“那我找谁?”
大爷指了指单元门口的告示栏:“你看那个,上面写着附近10家超市的联系方式,自己打电话订。”
这个告示栏,就相当于代码里的依赖注入容器。
技术故事:解耦的魔法
在软件开发中,对象之间总是需要相互协作。比如一个UserService需要用到UserRepository来存取数据。
传统写法是这样的:
publicclassUserService{privateUserRepository