1.Autofac 是一个IOC框架,比较于其他的IOC框架,如Spring.NET,Unity,Castle等等所包含的,它很轻量级性能上也是很高的。官网首页http://autofac.org/。
2.Autofac使用例子
1.先定义一个简单的接口
/// <summary>
/// 接口
/// </summary>
public interface IAction
{
void Show();
}
2.实现接口
/// <summary>
/// 实现接口
/// </summary>
public class Action : IAction
{
public void Show()
{
Console.Write("hello,world!\n");
}
}
3.构造函数注入
/// <summary>
/// 构造函数注入
/// </summary>
public class ActionManager
{
private IAction action;
public ActionManager(IAction a)
{
this.action = a;
}
public void Show()
{
action.Show();
}
}
4.测试
static void Main(string[] args)
{
ContainerBuilder cb = new ContainerBuilder();
cb.RegisterType<ActionManager>();
cb.RegisterType<Action>().As<IAction>();
IContainer ico = cb.Build();
ActionManager am = ico.Resolve<ActionManager>();
am.Show();
IAction a = ico.Resolve<IAction>();
a.Show();
}
hello,world!
hello,world!
6.说明
autofac注册好实现的接口后,会自动帮你匹配好实现的接口类。(刚学做个笔记,高手勿见笑)