一、控制反转和依赖注入两者搭配能像反射工厂那样解决程序集之间的耦合问题,下面将从Asp.Net经典的三层模式多方位的讲解控制反转和依赖注入模式,是如何帮我们进行程序集之间的解耦的。...上图是最基本的三层框架,具体的流程如下:
1、表现层调用业务层的方法
2、业务层调用数据层的方法,并对数据层返回的基础数据进行加工返回给业务层
3、数据层与数据库进行数据交互,并将数据传递给业务层
同时...这个项目要进行升级,数据库换成Oralce的,这个时候,你怎么办,你这里的业务层已经和SqlServer数据层强耦合在了一起,总不可能将这个项目反编译,然后在修改里面的源码吧,这显然是不可能的
现在我们知道了问题...到目前位置,已经完成了业务层和数据层的解耦,通过控制反转和依赖注入,具体的变现层调用代码如下:
using System;
using System.Collections.Generic;
using...nsName + ".UserDal";
return CreateInstance(className) as IUserDal;
}
}
}
通过反射和配置文件的方法同样能完成数据层和业务层之间的解耦