依赖注入(二)Autofac简单使用

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。下篇介绍的详细一点。

原文地址:https://www.cnblogs.com/chengjunchao/p/3689614.html