创建你自己的依赖注入容器Ioc Container
最近研究了Ioc,DI 以及一些开源的框架,以下根据自己的理解写一个简单的Ioc容器。我们在使用一个依赖注入容器时一般都是实现三步:
?
创建一个Ioc容器;依赖关系注入,这里需要一种collection对象存储这种注入关系;根据依赖注入获取对象的实例;
?
?
好了,接下来我们可以按照测试驱动开发的模式完成一个简易版本的注入容器:MinContainer
?
?
?
测试代码:?
?
?
?
这里需要一个字典类型的集合器来保持注册的对象?
?
在控制台中进行测试:
?
?
?
?
小结:?
以上代码只是很简陋的原理实现,需要完善泛型实现,生命周期管理等,不过也很简单,大家可以到codeplex站点下载Unit, Munq等实现框架代码。
?
?
?