Welcome

首页 / 软件开发 / .NET编程技术 / Castle学习笔记----初探IOC容器

Castle学习笔记----初探IOC容器2011-12-05 博客园 BeniaoWindsor是Castle 的一个IOC容器。它构建于MicroKernel之上,功能非常之强大,能检测类并了解使用这些类时需要什么参数,检测类型和类型之间工作依赖性,并提供服务或者发生错误时提供预警的机制。

通常IOC实现的步骤为-->建立容器-->加入组件-->获取组件-->使用组件.

1.建立容器

建立容器也就是IWindsorContainer.接着我门要向容器中注册服务,并告诉容器所注册的服务由那一个类来实现他.通常建立容器我们可以用以下定义来实现:

1IWindsorContainer container = new WindsorContainer();
2.加入组件

向建立好的容器里加入组件,直接调用容器的AddComponent()来完成.比如现在有一个写日志的接口ILog,实现这个服务的组件是TextLog,那我门可以通过如下方法把该组件加入到容器:

1container.AddComponent("txtLog", typeof(ILog), typeof(TextLog));
3.获取组件

获取组件可以直接通过加入组件的时候使用的key来获取,返回的是一个IWindsorContainer,这里需要一个强制转换.

1ILog log = (ILog)container["txtLog"];
4.使用组件

1//把当前时间写入到日志文件去

2log.Write(DateTime.Now.ToShortDateString()); 上面就是一个IOC容器的工作过程,从创建容器--加入组件--获取组件--使用组件.下面我看来看看一个小实例,也就是我在学习IOC的时候结合网上的资源自己小试牛刀瞎写的.

-------------------------------------------------------------------------------------------------------------