Ioc的实现及应用

本文介绍了Ioc(控制反转)的概念及其重要性,特别是在.NET开发中的作用。通过实例展示了如何通过Ioc降低层间耦合,以及如何自定义实现一个简单的Ioc容器,以XML配置文件管理类的实例。最后,通过代码演示了如何在工厂模式中使用Ioc,实现了面向接口编程,从而达到解耦的效果。
摘要由CSDN通过智能技术生成

什么是Ioc

什么是Ioc(Inversion of control),Ioc又叫DI(Dependency Injection),就是将你设计的类交给系统来控制,而不是你自己编码控制,这个应该是来源于java中的。做过j2ee开发的朋友肯定熟悉struts+hibernate+spring的结构。而spring正是为了实现Ioc而存在的,可想而知Ioc是多重要。当然我们不是在谈java而是在说.net,因为Ioc是一种思想而不是针对某种语言的。在.net中我们也是会经常碰到Ioc的,做.net开发的朋友肯定知道sprint.net、Castle等,这些都是优秀的Ioc框架。那么Ioc是做什么用的呢?

Ioc的作用

    Jon Tirsén 与 Aslak Hellesøy(PicoContainer的两位开发者)在2003年Java Polis的演讲经常被人们拿来讨论Ioc,其中的Kiss实例是人们说的最多的,这里举个和它类似的例子。

先看一下上图,如果现在我需要一个蛋糕,现在有几种方式可以实现。第一就是自己动手来做,第二就是我有朋友他做的比较好我拜托他帮我做,第三种就是我直接打电话给蛋糕房送货上门。刚好这三种方式也是我们设计三层架构时实现层间解耦方式的演变,我在图的下方已经标出来。三层架构中虽然我们在BLL调用DAL的时候(UI调用BLL也是如此)不是直接通过new来直接实例化的,但是在DALFactory和BLLFactory的内部还是是直接new一个对应实例来创建对象的,相当

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值