首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >简析依赖反转与依赖注入

简析依赖反转与依赖注入

作者头像
gojam
修改2019-05-14 12:03:31
修改2019-05-14 12:03:31
8750
举报
文章被收录于专栏:gojam技术备忘录gojam技术备忘录

他们都用于降低耦合度。

依赖反转(Dependency inversion principle, DIP)

在一个有层级结构的软件系统中,低层向高层提供服务,而高层利用低层的接口继续向更高层提供服务,达到了构建复杂系统的目的。在这个过程中,高层的实现依赖于低层,低层决定了高层应该如何实现。

依赖反转让低层也依赖于高层,怎么做到呢?将高层对低层的依赖抽象为接口,低层只需要去实现接口就好了,于是高层与低层都依赖于接口。这么做的好处是高层与低层可以分离,我们可以为系统开发插件或其他需要在低层运行的包。

依赖注入(Dependency Injection, DI)

依赖注入是实现控制反转(Inversion of Control, IoC)的最常用方式。

控制反转的重点是,将对象需要的对象的引用全部传入,但只是使用而不控制这些对象的新建或销毁。传入的方法可以是通过构造函数、设置属性、接口,这是依赖注入的过程。

IOC Container

IOC组件或框架,用于减少重复实现IOC的代码。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年4月9日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 依赖反转(Dependency inversion principle, DIP)
  • 依赖注入(Dependency Injection, DI)
    • IOC Container
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档