Autofac简单使用

源码下载传上源码,终于学会传文件了。

首先 还是那句话:“不要信我,否则你死得很惨!”。

C#常见的依赖注入容器

IoC in .NET part 1: Autofac

IoC in .NET part2: StructureMap

IoC in .NET part 3: Ninject 2 beta

IoC in .NET part4: Spring.NET

IoC in .NET part 5: Using CastleWindsor container

IoC Containers in .NET part 6: Unity Container

这里介绍Autofac 据说是速度最快的。我不会考证。就道听途说吧。

Autofac比较灵活,暂时只介绍简单的用法。这种用法还满足不了在生产中使用,下一篇讲如何用在生产中。

不使用Factory类 新建Manage类

 public class Manage
{
private readonly IPeople _people;
//增加了构造函数,参数是IPeople对象
public Manage(IPeople people)
{
_people = people;
}
public void Say()
{
_people.Say();
}
public void Sex()
{
_people.Sex();
}
}

在Main方法中使用

class Program
{
static void Main(string[] args)
{
var builder = new ContainerBuilder();//创建容器
//builder.RegisterType<Manage>();//注册
builder.Register(x => new Manage(x.Resolve<IPeople>()));//注册
//builder.RegisterType<ChineseMan>().AsImplementedInterfaces();
builder.RegisterModule(new ConfigurationSettingsReader("autofac"));//使用config中的配置注册
using (var container = builder.Build())
{
var manager = container.Resolve<Manage>();
manager.Say();
manager.Sex();
}
}

注册有很多种方式。最近有点累,没去深究如何使用,代码也是仿的其他blog。下篇介绍的详细一点。

最新文章

  1. Android发送短信核心代码
  2. Divide and conquer:Showstopper(POJ 3484)
  3. 洛谷 P1012 拼数 Label:续命模拟QAQ
  4. Xamarin Android提示找不到资源属性定义
  5. SDUST 作业10 Problem D 魔方阵
  6. zepto源码学习-05 ajax
  7. Docker镜像压缩
  8. 绝世emacs配置for Ubuntu
  9. ASP.NET 页面双向静态化
  10. flex 访问webservice方法及跨域问题解决
  11. 应用程序调用dll动态库,参数有vector时崩溃的问题
  12. 《OpenCV3编程入门》学习笔记
  13. Python开发系列
  14. 使用maven搭建springMVC开发环境
  15. 【python3】urllib.error.URLError: &lt;urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)&gt;
  16. C#将集合和Json格式互相转换的几种方式
  17. VC++ 6.0 C8051F340 USB 通信 CAN 数据解析
  18. Razor:从aspx到cshtml常见错误及正确书写方法
  19. Educational Codeforces Round 13 B. The Same Calendar 水题
  20. 3-java_string学习笔记:

热门文章

  1. Java的vector可实现自动增长的数组
  2. 从Java代码到字节码
  3. Excel中INDEX函数的使用
  4. 移动端CSS小结
  5. 创立一个站点的前前后后(起因,域名,云平台,备案,CDN等等)(1)
  6. jquery在ajax新加入的元素后绑定事件click
  7. Angular45
  8. iOS + Nodejs SSL/Https双向认证
  9. C项目实践--图书管理系统(1)
  10. accp