概述
Windsor是Castle提供的一个IOC框架,使用非常简单,支持批量注册。开始快速入门
首先引用dll
两个dll版本均是最新的3.3.0.0
新建两个接口文件IPrinter(打印接口)和ICharge(收费接口)
public interface IPrinter
{
void RegPrint(int regID);
void ClinicPrint(int chargeID);
}
public interface ICharge
{
void ClinicChcarge();
}
然后分别建立实现:
public class WenZhouPrinter:IPrinter
{
public void RegPrint(int regID)
{
Console.WriteLine("温州挂号打印 "+regID.ToString());
}
public void ClinicPrint(int chargeID)
{
Console.WriteLine("温州门诊打印 " + chargeID.ToString());
}
}
public class WenZhouCharge:ICharge
{
public IPrinter printer { set; get; }
public void ClinicChcarge()
{
Console.WriteLine("温州门诊收费");
printer.ClinicPrint(100000);
}
}
之后就可以进行IOC容器的相关配置了,配置步骤如下:1.新建继承自 IWindsorInstaller的安装类,在容器初始化的时候需要加载该安装类。2.在安装类中注册需要加入容器控制的接口及实现。
具体代码如下:
public class ChargeInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(Classes.FromThisAssembly().InNamespace("CastleWindsor.IEntity").WithService.DefaultInterfaces());
}
}
其中CastleWindsor.IEntity是实现类所在的空间。
public class WindsorInit
{
private static WindsorContainer _container;
public static WindsorContainer GetContainer()
{
if (_container == null)
{
_container = new WindsorContainer();
_container.Install(
FromAssembly.This()
);
}
return _container;
}
public void CloseContex()
{
_container.Dispose();
}
}
然后客户端代码只用如下调用即可
WindsorContainer container=WindsorInit.GetContainer();
ICharge charge = container.Resolve<ICharge>(new Arguments(new { }));
charge.ClinicChcarge();
要想从容器中获取特定的类只需调用container.Resolve 即可获取特定的实现类。
最后
以上就是儒雅钢笔为你收集整理的Castle学习系列(九)---Windsor框架快速入门的全部内容,希望文章能够帮你解决Castle学习系列(九)---Windsor框架快速入门所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复