IOC与DI都是为了降低类与类之间的耦合度。
耦合性
耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块之间越独立则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。
形象的说,就是要将代码写的和电脑一样,主类就是电脑的主机箱,当程序需要实现什么功能的时候只需要在其他的类引入接口,就像电脑上的usb接口。
在我们实际开发中,类似于
UserDAL userDAL = new UserDAL();
像这种代码,是直接关联的,依赖关系强,耦合度就很高,修改起来就很麻烦。我们就是为了降低它的耦合性,也就是提高独立性。
我们需要借助容器来进行调用,灵活性高,修改的时候只需要改容器中的代码就行了,不需要每个地方修改。
Unity插件下载地址:http://www.tnblog.net/resource/show/aojiancc2/715452b4c5774d6e9cc45fb3a8ecb1b8
下载我们需要在项目中添加引用。
那下面我们就来进行今天的详细讲解!
首先我们创建一个类库(NET58_DAL)
创建一个接口(IUserDAL)
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace UntiyLearn.Interface
{
public interface IUserDAL
{
string GetUser();
}
}
再创建两个类(NewDAL、UserDAL)去实现接口
代码如下:
NewDAL
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using UntiyLearn.Interface;
namespace NET58_DAL
{
pu