B\S备忘录09——搭框架顺便也要学学IoC

【B\S备忘录09——搭框架顺便也要学学IoC】从周二开始搭了一共两天的框架了,因为知道自己WCF和EF部分都是一知半解的,上次做项目的时候也是中途加入帮忙的,这次正好是自己从头搭一遍。
遇到的问题在另一篇博客里说吧,以为还没有把页面做出来,只是做了一个简单的WinForm,不过能把D层的数据顺利传到前面来也是费了一番功啊。
那么既然看了一些Spring.Net的博客,就随便说说,反正不如那些专门研究的精通,您就随便一看,留下十五字水个经验什么的。。。咳咳。。。这个IoC,中文翻译过来叫控制翻转(inversion of control),那么什么是控制翻转?为什么要控制反转?
虽然想像米老师一样做一个好老师,但是这是写博客啊,看的人不一定都是提高班的,就随口说了。我们一般声明一个类怎么写?
public class Person p
很简单是吧,那么这个有一个方法,Eat(),而我们编程的时候一般使用接口进行通信的,那么我们就要一个IPerson的接口
public interface IPerson
那么这时需要Person去实现IPerson接口。
public class Person:IPerson
这时,我们所说的一个依赖关系就出现了,我们在定义Person类就定义了它依赖的接口,而上面说得控制翻转,就是把这个定义依赖的权利,交给别人。用别人的一句话说是,依赖对象控制权的翻转
那么这个时候,我们经常用的是抽象工厂去实现,想想我们的代码是不是这个意思。
IPerson ip=Factory.CreatePerson();
这个时候,指定哪一个类去实现IPerson接口的这个权利,是工厂来决定的,而不是Person类,这样就是一个控制翻转。
想想我们原来的框架中,是不是B层,D层,都有一个工厂,而工厂解决了实现类的耦合问题,但是工厂依然存在耦合,其他层依然需要引用工厂和接口,那么我们能不能只引用接口呢?
这样就相当于把工厂这一层,全部抽象出去,使用XML定义对象,使用反射生成对象,这样就是一个类似Spring框架的最轻量级思路了。
不知道有没有成功的当了一个坏老师,就这么多了,剩下的答辩回来再说。
哦,对了上边都是胡说八道的,谁看到了顺便教教我。

    推荐阅读