依赖注入框架Autofac学习笔记

Autofac是一个轻量级的依赖注入框架,可以在这里面下载:http://code.google.com/p/autofac/downloads/list

要想了解什么是依赖注入,可以参考下这篇博客:http://www.cnblogs.com/leoo2sk/archive/2009/06/17/1504693.html

因为公司有用到这个框架,所以就网上找了些资料学习一下。

现在通过一个简单的实例来运用一下。

新建一个控制台应用程序:IocDemo

然后创建一个IPerson接口

public interface IPerson
    {
        void Work();

        void Eat();

        void Sleep();

        void Shopping();
    }

再添加一个Person类,让它继续IPerson接口

class Person:IPerson
    {

        #region IPerson 成员

        public void Work()
        {
            Console.WriteLine("I am Working now");
        }

        public void Eat()
        {
            Console.WriteLine("I am Eating now");
        }

        public void Sleep()
        {
            Console.WriteLine("I am Sleeping now");
        }

        public void Shopping()
        {
            Console.WriteLine("I am Shopping now");
        }

        #endregion

       }

然后在Main()方法中添加以下代码就OK啦。

    //构建Builder容器
            var builder = new ContainerBuilder();
            //注册
            builder.RegisterType<Person>();

            var person = builder.Build(Autofac.Builder.ContainerBuildOptions.Default).Resolve<Person>();
            //然后就可以调用Person类的方法了
            person.Work();
            person.Sleep();
            person.Shopping();
            person.Eat();
            Console.ReadLine();

关于注册还有另外两个方法:

//利用Register方法,支持lambda表达式
 builder.Register(c => new Person());
//利用RegisterInstance
 builder.RegisterInstance<Person>(new Person());
原文地址:https://www.cnblogs.com/Gyoung/p/2492104.html