依赖倒置原则(DIP),控制反转(Ioc),依赖注入(DI)之我解

本文介绍了软件设计中的依赖倒置原则(DIP),并详细解释了如何通过控制反转(IoC)及依赖注入(DI)来实现这一原则。文中还提到了.NET中的一些常见框架。

先来说说DIP。设计模式有六大基本原则,单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开放封闭原则。DIP也就是这六大原则之一,顾名思义,DIP只是一种原则,指导性的东西,没有具体的实现。它的基本定义是:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。依赖倒置一种原则,核心思想是依赖于抽象。

 

控制反转(Ico)是实现DIP原则的一种设计思想,即由最初的类本身来管理依赖对象改变为外部框架来管理这些对象,使得依赖脱离类本身的控制,从而实现松耦合。实现控制反转的方式目前有依赖查找(Dependency Lookup)和依赖注入(Dependency Injection

 

由上述可知,依赖注入(DI)是实现Ioc的其中一种方式,依赖注入常常会有一个Ioc容器来管理创建对象,并可以通过属性,构造器等方式将创建的对象赋值给相应的对象中。.NET中实现了这种方式的常用框架有MEF,Unity,Autofac,Spring.NET等。当然了如果没有特别复杂的需要,自己通过反射实现一个简单的DI框架也不是难事。

 

综合上面的描述,从DIP,Ico到DI,是抽象到具体的一个概念过程。

转载于:https://www.cnblogs.com/yeffyliu/p/6611767.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值